Python 常用模块使用

官方模块下载地址:https://pypi.python.org/pypi

os模块
os.path.join(path1[,path2[,...]])
join函数用来连接多个文件名地址,例如:os.path.join("D:\","test.txt")结果是D:\test.txt,但是这个函数并不会产生一个新文件。这个函数的返回值是文件名连接之后的字符串。
os.path.isdir(path)
判断此路径下有没有对应的文件或文件夹。
os.makedirs(path)
创建路径对应的文件或文件夹
re模块
re.compile(pattern[,flags]):此函数在传入pattern后,会返回一个编译后的匹配器regex,可以重复用到多个文本中。regex中有以下常用方法。
regex.split(text):
用编译好的正则表达式分割text。
regex.findall(text):
找到text中所有匹配的子串,返回一个list。
regex.search(text):
返回一个对象,这个对象包含匹配到的text第一个子串的信息,例如起始位置和终止位置。
regex.match(text):
匹配text开头,如果开头不匹配返回None。
regex.sub(str,text):
用str替换text中的匹配结果,返回替换后的结果。

re.sub(pattern, repl, string, max=0)
re.sub()函数的作用是,将string 中与pattern 模式匹配的部分用repl替换掉,max参数匹配后替换的最大次数,默认值为0,也就是全部替换。re.sub()这个替换函数的功能非常强大,不知能够替换单一的字符串,因为repl参数可以是 string类型或者是一个 function,如果repl为一个 function的时候可以实现更多替换的可能性。
  1. 当repl为string 的时候,这个时候比较简单,也就是将string中匹配pattern的部分替换成repl;
  2. 当repl为function 的时候,function必须只有一个参数,并且这个function的返回值需要时一个可以替换的字符串。如下例子:
import re
def dashrepl (matchobj):
if matchobj.group( 0 ) == '-' : return ' '
else : return '-'
print (re.sub( '-{1,2}' , dashrepl, 'pro----gram-files' ))
输出结果为:
pro--gram files
由此可以看出,re.sub()每匹配到一个结果就执行一次dashrepl,使用这种模式可以对同一个匹配模式进行不同的替换。
正则表达式中使用‘()’:
reportlab模块
Python的画图包,包中有大量的画图工具、帮助文档地址:http://www.reportlab.com/docs/reportlab-userguide.pdf
 
copy模块
copy.copy(list)
如果x是一个list,y=x那么y和x指向同一个存储区,改变x会改变y
>>> x=[2,3,4]
>>> x=y
>>> x[2]=100
>>> x
[2, 3, 100]
>>> y
[2, 3, 100]
使用copy包中的copy函数,可以将x的存储空间复制一份出来给y,这样,改变x不会改变y
>>> import copy
>>> x=[2,3,4]
>>> y=copy.copy(x)
>>> x[2]=100
>>> x
[2, 3, 100]
>>> y
[2, 3, 0]
sys模块
Python 常用模块使用_第1张图片
fileinput模块
Python 常用模块使用_第2张图片
Python 常用模块使用_第3张图片
 
heap堆:
Python 常用模块使用_第4张图片
例子:
time模块:
time模块使用到时间元组的概念,就是用一个元组来表示时间,这个时间又9个成员。
Python 常用模块使用_第5张图片
random模块
Python 常用模块使用_第6张图片
scipy模块:
下载地址:
http://sourceforge.net/projects/scipy/files/Scipy
cx_Oracle模块:
这个模块用来连接oracle数据库
下载地址:
https://pypi.python.org/pypi/cx_Oracle/5.1.3
文档地址:
http://cx-oracle.readthedocs.org/en/latest/index.html
基本操作:
http://www.cnblogs.com/hzhida/archive/2012/08/13/2636735.html
cx_Oracle.connect(user,password,port)连接数据库:
用例:

>>> import cx_Oracle
>>> connect = cx_Oracle.connect
>>> db=connect('boss_crm','boss_crm','10.205.28.29:1521/boss')
以上操作连接对应以下tns:
GD_82_29 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.205.28.29)(PORT = 1521))
)
(CONNECT_DATA =
(SID = boss)
)
)
connect中带的方法:
connect.cursor():
要执行查询操作,首先要调出cursor这个游标,调出游标之后才能进行操作
>>>cursor=db.cursor()
cursor.execute('sql'):
以上execute方法就是用来执行查询sql:
>>> cursor.execute('select * from sys_cust where rownum<10')
execute还可以使用绑定变量:
>>> named_params = {'dept_id':50, 'sal':1000}
>>> query1 = cursor.execute('SELECT * FROM employees
WHERE department_id=:dept_id AND salary>:sal', named_params)
>>> query2 = cursor.execute('SELECT * FROM employees
WHERE department_id=:dept_id AND salary>:sal', dept_id=50, sal=1000)
execute也可以执行DDL语句
cursor.fetchall():
以上方法调出游标的所有行:
>>>row=cursor.fetchall()
>>>for x in row:
For y in x:
Print y,
Print

connect.

json模块:此模块用来将json转化成python中的字典对象。
loads()将一个json格式转化成python对象

1.如果传入的字符串的编码不是UTF-8的话,需要用encoding指定字符编码

对于:

dataDict = json.loads(dataJsonStr);

其中dataJsonStr是json字符串,如果其编码本身是非UTF-8的话,比如是GB2312的,那么上述代码,就会导致出错。改为对应的:

dataDict = json.loads(dataJsonStr, encoding="GB2312");
matplotlib模块:
python的绘图模块:学习文章地址:http://www.it165.net/pro/html/201404/12180.html
引入约定:
import matplotlib.pyplot as plt
Figure和Subplot
matplotlib的图像都位于Figure对象中。你可以用plt.figure创建一个新的Figure:
In [3]: fig = plt.figure()
不能通过空Figure绘图。必须用add_subplot创建一个或多个subplot才行:
In [4]: ax1 = fig.add_subplot(2, 2, 1)
这条代码的意思是:图像应该是2*2 的,且当前选中的是4个subplot中的第一个(编号从1开始)。如果再把后面两个subplot也创建出来。

如果这时发出一条绘图命令哪个(如plt.plot([1.5, 3.5, -2, 1.6])),matplotlib就会在最后一个用过的subplot(如果没有则创建一个)上进行绘制。





你可能感兴趣的:(python)