Python常用函数大总结文档格式.docx
- 文档编号:20695593
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:5
- 大小:18.69KB
Python常用函数大总结文档格式.docx
《Python常用函数大总结文档格式.docx》由会员分享,可在线阅读,更多相关《Python常用函数大总结文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
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()
4
最大匹配
a*?
"
0
最小匹配
使用原始字符串
字符串表示方法中用\\表示字符\.大量使用影响可读性。
解决方法:
在字符串前面加一个r表示raw格式。
a=r"
\a"
printa结果是\a
\"
printa结果是\"
a
使用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模式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 常用 函数 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)