上一篇文章我们介绍了geopy的基本使用,这一篇文章我们根据中心点坐标,方向,距中心点距离计算出对应的坐标点,这种用法官网并没有给出详细的文档,我们这里做一下说明 生成坐标点的具体方法 import geopy.distance def get_distance_point(lat, lon, distance, direction): """ 根据经纬度,距离,方向获得一个地点 :param lat: 纬度 :param lon: 经度 :param distance: 距…
geopy是Python关于地理位置的一个第三方库,用这个库来进行地址位置信息的查询和转换非常方便,本文介绍关于geopy的常用的几种用法 geopy的安装 pip install geopy 根据地址查询坐标及详细信息 >>> import json, logging >>> from geopy.geocoders import Nominatim >>> geolocator = Nominatim() >>> location…
一. 需求 公司要做一个H5手机端适配页面,因技术问题所以H5是外包的,每次前端给我们源码,我们把源码传到服务器让其他人访问看是否存在bug,这个不是很麻烦吗?有人说,可以让前端在他们的服务器上先托管,等我们验收了后在给源码不结了嘛,是的呀!所有的人都愿意这样,but…… 要是能在本地搭建环境直接访问是不是更好的.问题是我们这边程序此刻没时间与H5前端对接,既浪费我们时间又浪费他们时间.所以开发一个service服务器让测试人员直接参与,这样就可以把我们完美分工了. 二.Python搭建web服…
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,for,while) Python 运算符 1.算术运算: 2.比较运算: 3.赋值运算: 4.逻辑运算:  5.成员运算: 基本数据类型 1.数字 int(整型) 数字 int ,所有的功能,都放在int里 a1 = a1 = - int 将字符串转换为数字 a = " print(type(a),…
python实现树莓派生成并识别二维码 参考来源:http://blog.csdn.net/Burgess_Liu/article/details/40397803 设备及环境 树莓派2代 官方系统Raspbian 官方树莓派摄像头模块 设备连接 摄像头模块插入到距离网卡口最近的那个接口,板上有Camera的字样,看清楚正反面. 启用摄像头 sudo raspi-config 选项:Camera 选项:Enable 选项:Finish 选项:Reboot 关键代码 安装依赖环境: sudo ap…
Python之路[第十二篇]:JavaScrpt -暂无内容-待更新…
python基本数据类型之字符串(二) 替换方法 python中字符串的替换方法主要有:center.rjust\ljust.expandtabs.format\format_map(格式化).strip.rstrip\lstrip.replace和zfill.其中最重要的两个方法是replace和format. 1.replace replace方法是用新子串替换原来字符串中的子串. 该方法有3个参数--replace(old, new, count),其中old是指原字符串中的子串:new是…
基于python的快速傅里叶变换FFT(二)本文在上一篇博客的基础上进一步探究正弦函数及其FFT变换. 知识点  FFT变换,其实就是快速离散傅里叶变换,傅立叶变换是数字信号处理领域一种很重要的算法.要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义.傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加.而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频率.振幅和相位.   和傅立叶变换算法对应的是反傅立叶变换…
python小工具myqr生成动态二维码 (一)安装 (二)使用 (一)安装 命令: pip install myqr 安装完成后,就可以在命令行中输入 myqr 查看下使用帮助: myqr --help (二)使用 参数 可选参数 取值 解释 -v {1,2,3,…,40} 控制边长,范围是1至40,数字越大边长越大 -l {L,M,Q,H} 控制纠错水平,范围是L.M.Q.H,从左到右依次升高 -n output-filename 控制文件名,默认文件名是“ qrcode.png “,格式可…
目录 Python实现C代码统计工具(二) 声明 一. 问题提出 二. 代码实现 三. 效果验证 Python实现C代码统计工具(二) 标签: Python 代码统计 声明 本文将对<Python实现C代码统计工具(一)>中的C代码统计工具进行重构,以应对各种使用场景. 一. 问题提出 此前实现的C代码统计工具较为简陋,仅能遍历和分析当前目录及其子目录下的代码文件并输出统计报告. 在实际使用中,可能期望支持同时统计多个目录和(或)文件,并可指定遍历深度.当文件总数较少且文件路径较长时,期望支持…
基于python的接口测试框架设计(二)配置一些参数及文件 我这里需要基于我的项目配置的主要是登陆参数.以及baseURL ,把这些放在单独的文件里  毕竟导入的时候方便了一些 首先是url 图略 建议一类相似的放在一组 这样使用起来就不会把主借口测试代码里弄得乱七八糟了 然后是: 登陆参数,这里可以把参数存在txt里  我是比较习惯readlines,所以我一般存在txt里 这里的好处就是可以获取到参数放在这,因为登陆状态隔段时间就要变,,所以不能写到程序里,,不能变一次就去改程序 对吧 文件…
python的multiprocessing模块是用来创建多进程的,下面对multiprocessing总结一下使用记录. 系列文章 python并发编程之threading线程(一) python并发编程之multiprocessing进程(二) python并发编程之asyncio协程(三) python并发编程之gevent协程(四) python并发编程之Queue线程.进程.协程通信(五) python并发编程之进程.线程.协程的调度原理(六) python并发编程之multiproc…
python爬虫之urllib库(二) urllib库 超时设置 网页长时间无法响应的,系统会判断网页超时,无法打开网页.对于爬虫而言,我们作为网页的访问者,不能一直等着服务器给我们返回错误信息,耗费时间太久.因此,我们在爬取网页的时候可以设置超时异常的值. import urllib.request file=urllib.request.urlopen("http://yum.iqianyue.com",timeout=30) #timeout=30,表示30秒以后产生超时异常 d…
python并发模块之concurrent.futures(二) 上次我们简单的了解下,模块的一些基本方法和用法,这里我们进一步对concurrent.futures做一个了解和拓展.上次的内容点这.python并发模块之concurrent.futures(二)以下载图片为例子,下面的程序是顺序下载http://www.58pic.com/newpic/28660111.html网站的24个表情 . from requests_html import HTMLSessionimport osi…
PySide——Python图形化界面入门教程(二) ——交互Widget和布局容器 ——Interactive Widgets and Layout Containers 翻译自:http://pythoncentral.io/pyside-pyqt-tutorial-interactive-widgets-and-layout-containers/ 上一个教程中,我们了解了一些QWidget提供的功能,还有一个特殊的子类QLabel.更进一步的,我们完成了一个用来说明简单Python/Qt…
python实现进制转换(二.八.十六进制:十进制) (一)十进制整数转为二.八.十六进制 1.format实现转换>>> format(2,"b") # (10进制的)2转二进制'10' >>> format(9,"o") # (10进制的)9转八进制'11' >>> format(17,"x") # (10进制的)17转十六进制'11' format(integer, 'x') 将inte…
[python]Leetcode每日一题-二叉搜索树节点最小距离 [题目描述] 给你一个二叉搜索树的根节点 root ,返回 树中任意两不同节点值之间的最小差值 . 示例1: 输入:root = [4,2,6,1,3] 输出:1 示例2: 输入:root = [1,0,48,null,null,12,49] 输出:1 提示: 树中节点数目在范围 [2, 100] 内 0 <= Node.val <= 10^5 [分析] dfs中序遍历 代码 # Definition for a binary…
[python]Leetcode每日一题-二叉搜索迭代器 [题目描述] 实现一个二叉搜索树迭代器类BSTIterator ,表示一个按中序遍历二叉搜索树(BST)的迭代器: BSTIterator(TreeNode root) 初始化 BSTIterator 类的一个对象.BST 的根节点 root 会作为构造函数的一部分给出.指针应初始化为一个不存在于 BST 中的数字,且该数字小于 BST 中的任何元素. boolean hasNext() 如果向指针右侧遍历存在数字,则返回 true :否…
指定两点地理位置经纬度的距离计算 #coding=utf-8 from math import * # input Lat_A 纬度A # input Lng_A 经度A # input Lat_B 纬度B # input Lng_B 经度B # output distance 距离(km) def calcDistance(Lat_A, Lng_A, Lat_B, Lng_B): ra = 6378.140 # 赤道半径 (km) rb = 6356.755 # 极半径 (km) flatte…
1.使用多线程可以有效利用CPU资源,线程享有相同的地址空间和内存,这些线程如果同时读写变量,导致互相干扰,就会产生并发问题,为了避免并发问题,绝不能让多个线程读取或写入相同的变量,因此python中使用了全局锁(GIL),此锁只有一个,当某线程执行某个函数时,其他线程不能同时执行,直到锁被释放(同时也要小心死锁的情况),因此无论有多少个线程,同一时刻只有一个线程持有该锁,也就是只能以单线程模式执行,因此代码并不能在同时在多核上并发,多线程在python中只能交替执行,即使100个线程跑在100…
如果你想把图形渲染在正确的位置上,那么坐标的设置就很重要了.在OpenGL中,与坐标相关的主要有笛卡尔坐标.坐标裁剪.纹理坐标.MVP(Model View Projection)转换. 1.笛卡尔坐标 在二维绘图中,笛卡尔坐标有一个X轴和一个Y轴组成,X轴为水平方向,Y轴为垂直方向,X和Y相互垂直.如图1.关于正负方向问题,默认如图1上标示,但是我们可以根据实际需求自己定义.(左下角为(0, 0)原点) 图1: 在三维绘图中,笛卡尔坐标多了一个Z轴,Z轴同时垂直于X和Y轴.Z轴的实际意义代表着…
#!/usr/bin/env python # -*- coding:utf-8 -*- #py2.x里面除法或乘法这么写就可以计算小数点后面结果,更精确future(未来,译音:非忧车) division(除法,译音:德为神) # Ctrl+/ 注释的快捷键 from __future__ import division x = 9 /2 print(x)…
上回说到,突破反爬虫限制的方法之一就是多用几个代理IP,但前提是我们得拥有有效的代理IP,下面我们来介绍抓取代理IP并多线程快速验证其有效性的过程. 一.抓取代理IP 提供免费代理IP的网站还挺多的,我在'西刺代理'上一阵猛抓后自己的IP就被其屏蔽了.只好换'IP巴士'并乖乖的减缓抓取速度了.贴上抓取代码 import urllib.request import urllib import re import time import random #抓取代理IP ip_totle=[] #所有页…
jQuery 1.jQuery和JS和HTML的关系 首先了HTML是实际展示在用户面前的用户可以直接体验到的,JS是操作HTML的他能改变HTML实际展示给用户的效果! 首先了解JS是一门语言,他是运行在浏览器上的. jQuery是什么呢?他是对JS进行了封装,成了一个类库,就类似于python中的类,我们用的时候直接掉类库了就行了非常方便.比如paramiko模块,我们要使用paramiko就得学习里面的方法. 2.jQuery分为的几部分 ------找 ----选择器 ----筛选器 -…
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果.通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的. 1.存在方式 <!--导入javascript脚本方法--> <script type="text/javascript" src="t1.js "></script> <!--直接在html内部编写javasc…
一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> def add(a,b): #这里的a和b是形参 return a+b >>> add(1,2) # 这里的1和2是实参 3 >>> x=2 # 这里的x和y是实参 >>> y=3 >>> add(x,y) 5 二.参数的传递和改变…
Django之Model操作   一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary_key=True 注:当model中如果没有自增列,则自动会创建一个列名为id的列 from django.db import models class UserInfo(models.Model): # 自动创建一个列名为id的且为自增的整数列 use…
各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,python加载ZBar时各种报错.可能的原因是zbar的dll文件是32位的,而我系统是64位的,所以运行不了.只能自己拿源码编译一个64位的出来,对于我这种伸手党来说自己编译源码是难以接受的,所以就放弃了.后来看到文章说Zbar不能识别倾斜的条形码,而且也不能定位条形码区域. Zxing zbar不可…
Python 基础之socket编程(二) 昨天只是对socket编程做了简单的介绍,只是把socket通信的框架搭建起来,要对其中的功能进行进一步的扩充,就来看看今天的料哈! 一.基于tcp的套接字 1. tcp的服务端 ss = socket() #创建服务器套接字 ss.bind() #把地址绑定到套接字 ss.listen() #监听链接 inf_loop: #服务器无限循环 cs = ss.accept() #接受客户端链接 comm_loop: #通讯循环 cs.recv()/cs.…
一.sys模块 1.sys.exit() 退出程序,这是正常退出程序,与之前用的break不同的是,break只是退出循环,循环之后的代码还会正常运行 2.sys.argv  会返回一个列表,列表中的第一个元素是程序本身路径 在终端中运行的时候,Python 文件名 后面还可以加东西,会依次放到返回的列表中 这个方法的应用是:以前我们在做验证用户名密码的时候,是用的input()函数,当程序等待用户输入的时候,会处于I/O阻塞状态,有时我们要保持程序出于运行状态I,所以就用到了sys.argv…