Python-库
sf2gis@163.com
2015年1月4日
1 内建库
1.1 类型转换
float():转换为float。
hex():转换为16进制字符串。
oct():转换为8进制字符串。
int(x)/int(x,base):将指定进制的整数转换为10进制整数。
long():转换为long integer。
repr():转换为对象的字符串数据。
str():转换为字符串。
format(value,format):将value转换为指定格式。
1.2 编码转换
bin(int):返回二进制字符串。
chr(c):返回ascii对应的字符。
unichr(c):返回unicode 编码对应的字符。
ord(int):可以返回int对应的char或unicodechar。
compile():将源文件编译为可执行文件。
unicode():返回Unicode类型的字符串。
1.3 数据验证
all():如果所有数据都不为空,则返回True,否则False。
any():只要有数据不为空,则返回True。否则返回Fasle。
bool():判断是否为空。
callable():判断是否可以调用。类型可以调用,对象具有__call__才具有可调用性。
cmp(x,y):比较xy的大小。
filter(fun,iteratable):使用fun()来验证iteratable中的每个元素,如果不是False,则将结果返回,否则过滤点。
isinstance():判断是否为类型的对象。
issubclass():判断是否为类型的子类型。
map(fun,col):用col的每个数据来运行fun,返回结果list。
max(…,key=fun):最大值。
min(…,key=fun):最小值。
1.4 基本类型
basestring():str()和unicode()的基本类型。抽象型,不可直接使用。可用于isinstance()验证。
classmethod():将函数变成成员函数。
staticmethod():将函数变为静态成员函数。
file():文件类型原型。打开文件使用open()。
bytearray():生成可变数据。
complex(I,j):生成复数。
enumerate():生成枚举类型。
memoryview():生成memoryview对象。
object():生成一个object对象,是所有类的基类。
1.5 对象相关
setAttr():设置对象属性值。
delAttr():删除对象属性值。
getAttr():获取对象属性值。
hasAttr():判断对象是否具有属性。
super():新类型的基类型。
type():获取类型。
globals():返回当前模块内的全局符号。
locals():返回当前范围内的局部符号。
vars(x):返回与x有关的符号。
hash():返回对象的hash编码。
id():内部唯一id号。
1.6 集合类型与操作
1.6.1list
1) 定义:[]
list = 【a,b,c…】;
list = [ifor i in range(10)]:for语句从rangle(10)数组中逐个取值,然后执行前置操作i,将结果作为作为list的元素。可以包含for if等简单逻辑。
如:
lstLonLat = [[float(d) for d in lonlat.split("")]for lonlat in strLonLat.split(",")]#定义了一个二维数组[【116.0, 37.0】, 【118.5, 34.0】, 【120.0,38.0】],一维lonlat为字符串分解而来的数组[” 120.0 38.0”,...]。二维d是由lonlat分解来而,然后由float转换为浮点型。
primes = [x for x in range(2, 50) if x not in noprimes]
2) 索引:lst[i],lst.index(value),value in lst
如果i为负值,则从后向前索引。-0=0,最后一元素是lst【-1】。
lst.index(value):返回值为value的索引值。如果有多个,则只返回第一个。如果没有,则出错。
使用in检测值是否在lst内。
3) 片段:slice【a:b】
从lst中取[a:b)片段。注意:包括lst[a],不包括list[b]。
如果a=0,可以省略。如果b=len(lst),也可以省略。如果a,b都省略,则返回lst的副本。
4) 增:append(item),extend([lst]),insert(I,item),+,+=,*
+:将两个list连接起来,
*:相当于多个+。
5) 删:remove(index),pop()
pop():删除末尾值,并返回此值。
参考:http://www.secnetix.de/olli/Python/list_comprehensions.hawk
1.7 其它
help():查看内部帮助文件。
open():打开文件。
print():打印。与print 关键字相同,需要声明来区分。
raw_input(info):交互读取输入。
reload():重新加载指定模块。
__impoert__:import时触发。
divmod(a,b)先整除,后取整。(a/b,a%b)
pow(a,b):a^b;
pow(a,b,c):a^b%c
round():四舍五入。
eval():执行计算。
exec():运行语句。
1.7.1 open():打开文件。
open(name,mode,buffer):mode-“r”,“w”,“a”。
1.8 参考
file:///F:/DevelopWare/Python/python-2.7.8-docs-html/library/functions.html
http://blog.csdn.net/emaste_r/article/details/8447192
2 标准库
使用dir()和help()来显示相关信息。
python自带大量的库,方便实用,需要查询相关的文档。
2.1 操作系统功能:os
提供操作系统API封装。需要使用Import os,不能直接全部导入,会有命名冲突(open())。其对文件系统的操作应该使用shutil库代替。
system():执行命令行程序。
chdir():改变当前工作目录。
getcwd():获取当前工作目录。
示例:
print getcwd()
chdir("D:/Test/qt/qt45mix/build-dll4-471-Debug/debug/")
2.2 文件系统操作:shutil
copy():复制文件。
move():移动文件。
2.3 通配符搜索文件:glob
搜索:glob():如glob(“*.py”)
2.4 系统设置:sys
argv:main()函数的参数列表。
stdin,stdout,stderr:标准输入输出。
eixt():退出脚本。
2.5 正则表达式:re
字符串中提供了简单的函数替代执行。
2.6 数学库:math
使用c库,效率高。
cos,sin等。
2.7 随机库:random
choice():从列表中随机选择。
random():0~1之间的随机数。
sample(lst,n):从lst中随机抽样n个。
randrange(n):从0~n中随机数。
2.8 网络协议库:smtplib,urllib2……多个
urllib2
urlopen():返回打开的url网页的源码列表。
2.9 日期时间:datetime
date:日期
time:时间
datetime:日期时间
2.10 数据压缩:zlib,gzip等。
支持各种压缩格式的压缩和解压缩。
2.11 性能度量:timeit,profile,pstates
timeit:精细控制。
profile,pstates:大尺度。
2.12 测试:doctest,unittest
doctest:使用注释测试。
unittest:独立的单元测试。
2.13 输出格式:repr,pprint,textwarp,local
repr:字符串打印精细控制。
pprint:复杂的输出控制。
textwarp:换行控制。
local:区域控制。
string.template:提供模板化的字符串控制工具。
2.14 二进制文件操作:struct
pack()/unpack():提供了二进制数据的序列化和反序列化。
2.15 多线程:threading,queue
2.16 日志:logging
logging.debug();
2.17 精确运算:decimal
提供比默认二进制浮点运算更高精度的控制。
2.18 序列化和反序列化:pickle
pickle
cpickle:快速pickle
2.19 调用外部子进程:SubProcess
调用程序:call()
调用程序并等待程序运行结束:check_call()
def callProc(strFileName):
"""
call process(exe).
:param strFileName:
:return:no return
:authorsf2gis@163.com
:date 2014-10-1119:24:35
"""
print os.getcwd()
print "callexe start"
iRet =subprocess.check_call(["maptilecodetrcmd.exe", "-l","7", "-lonlat",
"116.0 37.0,118.5 34.0,120.0 38.0", "-f",strFileName])
print iRet
print "callexe end."