Python常用函数大总结文档格式.docx

上传人:b****6 文档编号:20695593 上传时间:2023-01-25 格式:DOCX 页数:5 大小:18.69KB
下载 相关 举报
Python常用函数大总结文档格式.docx_第1页
第1页 / 共5页
Python常用函数大总结文档格式.docx_第2页
第2页 / 共5页
Python常用函数大总结文档格式.docx_第3页
第3页 / 共5页
Python常用函数大总结文档格式.docx_第4页
第4页 / 共5页
Python常用函数大总结文档格式.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Python常用函数大总结文档格式.docx

《Python常用函数大总结文档格式.docx》由会员分享,可在线阅读,更多相关《Python常用函数大总结文档格式.docx(5页珍藏版)》请在冰豆网上搜索。

Python常用函数大总结文档格式.docx

max(...)求最大值 

min(...)求最小值 

用于执行程序的内置函数 

complie如果一段代码经常要使用,那么先编译,再运行会更快。

2.和操作系统相关的调用 

系统相关的信息模块importsys 

sys.argv是一个list,包含所有的命令行参数. 

sys.stdoutsys.stdinsys.stderr分别表示标准输入输出,错误输出的文件对象. 

sys.stdin.readline()从标准输入读一行sys.stdout.write("

a"

)屏幕输出a 

sys.exit(exit_code)退出程序 

sys.modules是一个dictionary,表示系统中所有可用的module 

sys.platform得到运行的操作系统环境 

sys.path是一个list,指明所有查找module,package的路径. 

操作系统相关的调用和操作importos 

os.environ一个dictionary包含环境变量的映射关系os.environ["

HOME"

]可以得到环境变量HOME的值 

os.chdir(dir)改变当前目录os.chdir('

d:

\\outlook'

)注意windows下用到转义 

os.getcwd()得到当前目录 

os.getegid()得到有效组id 

os.getgid()得到组id 

os.getuid()得到用户id 

os.geteuid()得到有效用户id 

os.setegidos.setegid()os.seteuid()os.setuid() 

os.getgruops()得到用户组名称列表 

os.getlogin()得到用户登录名称 

os.getenv得到环境变量 

os.putenv设置环境变量 

os.umask设置umask 

os.system(cmd)利用系统调用,运行cmd命令 

操作举例:

os.mkdir('

/tmp/xx'

)os.system("

echo'

hello'

>

/tmp/xx/a.txt"

)os.listdir('

) 

os.rename('

/tmp/xx/a.txt'

'

/tmp/xx/b.txt'

)os.remove('

)os.rmdir('

用python编写一个简单的shell 

#!

/usr/bin/python 

importos,sys 

cmd=sys.stdin.readline() 

whilecmd:

os.system(cmd) 

用os.path编写平台无关的程序 

os.path.abspath("

1.txt"

)==os.path.join(os.getcwd(),"

os.path.split(os.getcwd())用于分开一个目录名称中的目录部分和文件名称部分。

os.path.join(os.getcwd(),os.pardir,'

a'

'

a.doc'

)全成路径名称. 

os.pardir表示当前平台下上一级目录的字符.. 

os.path.getctime("

/root/1.txt"

返回1.txt的ctime(创建时间)时间戳 

os.path.exists(os.getcwd())判断文件是否存在 

os.path.expanduser('

~/dir'

)把~扩展成用户根目录 

os.path.expandvars('

$PATH'

)扩展环境变量PATH 

os.path.isfile(os.getcwd())判断是否是文件名,1是0否 

os.path.isdir('

c:

\Python26\temp'

)判断是否是目录,1是0否 

os.path.islink('

/home/huaying/111.sql'

)是否是符号连接windows下不可用 

os.path.ismout(os.getcwd())是否是文件系统安装点windows下不可用 

os.path.samefile(os.getcwd(),'

/home/huaying'

)看看两个文件名是不是指的是同一个文件 

os.path.walk('

test_fun,"

a.c"

遍历/home/huaying下所有子目录包括本目录,对于每个目录都会调用函数test_fun. 

例:

在某个目录中,和他所有的子目录中查找名称是a.c的文件或目录。

deftest_fun(filename,dirname,names):

//filename即是walk中的a.cdirname是访问的目录名称 

iffilenameinnames:

//names是一个list,包含dirname目录下的所有内容 

printos.path.join(dirname,filename) 

文件操作 

打开文件 

f=open("

filename"

"

r"

)r只读w写rw读写rb读二进制wb写二进制w+写追加 

读写文件 

f.write("

)f.write(str)写一字符串f.writeline()f.readlines()与下read类同 

f.read()全读出来f.read(size)表示从文件中读取size个字符 

f.readline()读一行,到文件结尾,返回空串.f.readlines()读取全部,返回一个list.list每个元素表示一行,包含"

\n"

f.tell()返回当前文件读取位置 

f.seek(off,where)定位文件读写位置.off表示偏移量,正数向文件尾移动,负数表示向开头移动。

where为0表示从开始算起,1表示从当前位置算,2表示从结尾算. 

f.flush()刷新缓存 

关闭文件 

f.close() 

regularexpression正则表达式importre 

简单的regexp 

p=pile("

abc"

)ifp.match("

):

print"

match"

上例中首先生成一个pattern(模式),如果和某个字符串匹配,就返回一个matchobject 

除某些特殊字符metacharacter元字符,大多数字符都和自身匹配。

这些特殊字符是。

^$*+?

{[]\|() 

字符集合(用[]表示) 

列出字符,如[abc]表示匹配a或b或c,大多数metacharacter在[]中只表示和本身匹配。

a="

.^$*+?

{\\|()"

大多数metachar在[]中都和本身匹配,但"

^[]\"

不同 

["

+a+"

]"

foriina:

ifp.match(i):

print"

[%s]ismatch"

%i 

else:

[%s]isnotmatch"

在[]中包含[]本身,表示"

或者"

匹配.用\[和\]表示. 

^出现在[]的开头,表示取反.[^abc]表示除了a,b,c之外的所有字符。

^没有出现在开头,即于身身匹配。

-可表示范围.[a-zA-Z]匹配任何一个英文字母。

[0-9]匹配任何数字。

\在[]中的妙用。

\d[0-9] 

\D[^0-9] 

\s[\t\n\r\f\v] 

\S[^\t\n\r\f\v] 

\w[a-zA-Z0-9_] 

\W[^a-zA-Z0-9_] 

\t表示和tab匹配,其他的都和字符串的表示法一致 

\x20表示和十六进制ascii0x20匹配 

有了\,可以在[]中表示任何字符。

注:

单独的一个"

."

如果没有出现[]中,表示出了换行\n以外的匹配任何字符,类似[^\n]. 

regexp的重复 

{m,n}表示出现m个以上(含m个),n个以下(含n个). 

如ab{1,3}c和abc,abbc,abbbc匹配,不会与ac,abbbc匹配。

m是下界,n是上界。

m省略表下界是0,n省略,表上界无限大。

*表示{,}+表示{1,}?

表示{0,1} 

最大匹配和最小匹配python都是最大匹配,如果要最小匹配,在*,+,?

{m,n}后面加一个?

matchobject的end可以得到匹配的最后一个字符的位置。

pile("

a*"

).match('

aaaa'

).end() 

最大匹配 

a*?

"

最小匹配 

使用原始字符串 

字符串表示方法中用\\表示字符\.大量使用影响可读性。

解决方法:

在字符串前面加一个r表示raw格式。

a=r"

\a"

printa结果是\a 

\"

printa结果是\"

使用re模块 

先用pile得到一个RegexObject表示一个regexp 

后用pattern的match,search的方法,得到MatchObject 

再用matchobject得到匹配的位置,匹配的字符串等信息 

RegxObject常用函数:

>

pile("

).match("

abab"

)如果abab的开头和pile("

)匹配,得到MatchObject 

<

_sre.SRE_Matchobjectat0x81d43c8>

printpile("

bbab"

None注:

从str的开头开始匹配 

).search("

)在abab中搜索第一个和re_obj匹配的部分 

_sre.SRE_Matchobjectat0x8184e18>

和match()不同,不必从开头匹配 

re_obj.findall(str)返回str中搜索所有和re_obj匹配的部分. 

返回一个tuple,其中元素是匹配的字符串. 

MatchObject的常用函数 

m.start()返回起始位置,m.end()返回结束位置(不包含该位置的字符). 

m.span()返回一个tuple表示(m.start(),m.end()) 

m.pos(),m.endpos(),m.re(),m.string() 

m.re().search(m.string(),m.pos(),m.endpos())会得到m本身 

m.finditer()可以返回一个iterator,用来遍历所有找到的MatchObject. 

forminpile("

[ab]"

).finditer("

tatbxaxb"

):

printm.span() 

高级regexp 

|表示联合多个regexp.AB两个regexp,A|B表示和A匹配或者跟B匹配. 

^表示只匹配一行的开始行首,^只有在开头才有此特殊意义。

$表示只匹配一行的结尾 

\A表示只匹配第一行字符串的开头^匹配每一行的行首 

\Z表示只匹配行一行字符串的结尾$匹配第一行的行尾 

\b只匹配词的边界例:

\binfo\b只会匹配"

info"

不会匹配information 

\B表示匹配非单词边界 

示例如下:

printpile(r"

\binfo\b"

info"

)#使用raw格式\b表示单词边界 

_sre.SRE_Matchobjectat0x817aa98>

)#没有使用raw\b表示退格符号 

None 

\binfo\b"

_sre.SRE_Matchobjectat0x8174948>

分组(Group)示例:

(a(b)c)d"

abcd"

).groups() 

('

abc'

b'

/usr/local/bin/python 

importre 

x="

name:

Charles 

Address:

BUPT 

Ann 

#p=pile(r"

^name:

(.*)\n^Address:

(.*)\n"

re.M) 

p=pile(r"

(?

P<

name>

.*)\n^Address:

address>

.*)\n"

forminp.finditer(x):

hereisyourfriendslist"

%s,%s"

%m.groups() 

CompileFlag 

用pile得到RegxObject时,可以有一些flag用来调整RegxObject的详细特征. 

DOTALL,S让.匹配任意字符,包括换行符\n 

IGNORECASE,I忽略大小写 

LOCALES,L让\w\W\b\B和当前的locale一致 

MULTILINE,M多行模式,只影响^和$(参见上例) 

VERBOSE,Xverbose模式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 法语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1