模塊
python的腳本是py文本文件峻村,一個py腳本文件可以單獨運行,也可以導(dǎo)入另一個文件中锡凝。被當作導(dǎo)入的腳本文件稱之為模塊粘昨。
import cal??????????#cal是一個cal.py文件,直接導(dǎo)入這個cal.py
cal.add(1,2)?????? #調(diào)用cal.py文件中的add()函數(shù)
if _name_=="_main_":???? #判斷調(diào)用此文件的文件名是否是主調(diào)用程序
包
模塊可以按目錄組織為包
創(chuàng)建包的步驟:
1窜锯、建立一個名字為包名字的文件夾
2张肾、該文件夾下創(chuàng)建一個文件_init_.py
3、根據(jù)需要在該文件夾下存放腳本文件锚扎、已編譯擴展及子包
?? import pack.m1,pack.m2,pack.m3
import csvp.cal???????? #csvp為包名吞瞪,該包下有個cal.py文件
print? csvp.cal.add(2,3)? #調(diào)用包名下模塊中的函數(shù)add()
在csvp包(文件夾)下有個_init_.py,表示該csvp文件夾是一個包
正則表達式
#coding=utf-8
import re? #使用正則表達式
s=r'abc'? #定義正則表達式
print re.findall(s,"aaaaa")? #返回[]
print re.findall(s,"abcaaaabc") #返回['abc', 'abc']
st="top tip tqp tep"
res=r"top"
print re.findall(res,st) #返回['top']
res=r"t[io]p"? #適配方括號內(nèi)的任意一個字符
print re.findall(res,st) #返回['top', 'tip']
res=r"t[^io]p"? #適配除了方括號內(nèi)指定字符以外的字符
print re.findall(res,st) #返回['tqp', 'tep']
res=r"^tip"? #適配開頭字符是tip
print re.findall(res,st) #返回[]
res=r"tep$"? #適配尾字符是tep
print re.findall(res,st) #返回['tep']
res=r"x[0-9]" #用0-9表示從0到9的數(shù)字
print re.findall(res,"x8") #返回['x8']
\d 匹配任何十進制數(shù)驾孔;它相當于類[0-9]
\D?匹配任何非數(shù)字字符芍秆;它相當于類[^0-9]
\s 匹配任何空白字符;它相當于類[\t\n\r\f\v]
\S 匹配任何非空白字符翠勉;它相當于類[^\t\n\r\f\v]
\w匹配任何字母數(shù)字字符妖啥;它相當于類[a-zA-Z0-9]
\W匹配任何非字母數(shù)字字符;它相當于類[^a-zA-Z0-9]
r=r"^010-\d{8}" #匹配一個格式為 010-8個0到9的數(shù)字
* 指定前一個字符可以被匹配零次或更多次对碌。
+匹配一次或更多次
?匹配一次或零次
{m,n}? m,n是十進制整數(shù)迹栓。至少有m個重復(fù),至多到n個重復(fù)。
??? {0克伊,}等同于*??? {1酥郭,}等同于+, {0愿吹,1}與?相同不从。
編譯正則表達式
p_tel=re.compile(r‘csvt')
print p_tel??? #<_sre.SRE_Pattern object at 0x000000000290E620>