python 常用模块
1.os模块
os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果。
os.name:返回当前操作系统名称('posix', 'nt', 'os2', 'mac', 'ce' or 'riscos')
os中定义了一组文件、路径在不同操作系统中的表现形式参数,如
os.sep(文件夹分隔符,windows中是 \ )
os.extsep(扩展名分隔符,windows中是 . )
os.pathsep(目录分隔符,windows中是 ; )
os.linesep(换行分隔符,windows中是 \r\n )
os中有大量文件、路径操作的相关函数,如:
listdir(path):列举目录下的所有文件
makedir(path):创建文件夹,注:创建已存在的文件夹将异常
makedirs(path):递归式的创建文件夹,注:创建已存在的文件夹将异常
remove(filename):删除一个文件
rmdir(path):删除一个文件夹,注:删除非空的文件夹将异常
removedirs(path):递归的删除文件夹,直到有一级的文件夹非空,注:文件夹路径不能以'\'结束
rename(src,dst):给文件或文件夹改名(可以改路径,但是不能覆盖目标文件)
renames(src,dst):递归式的给文件或文件名改名
walk(path):列举path下的所有文件、文件夹
os中与进程相关的操作,如:
execl(path):运行一个程序来替代当前进程,会阻塞式运行
_exit(n):退出程序
startfile(filename):用与文件关联的程序运行,关联程序打开后,立即返回
system(cmd):运行一个程序或命令,会立即返回,并在cmd执行完成后,会返回cmd退出代码
os.path:在不同的操作系统中调用不同的模块,是一个可import的模块,这个模块中提供很多有用的操作:
abspath(path):返回path的绝对路径,若path已经是绝对路径了,则保持。
basename(path):返回path中的文件名。
commonprefix(list):返回list中的统一前缀,用于获得一组字符串的左起相同的内容
dirname(path):返回path中的文件夹部分,结果不包含'\'
exists(path):文件或文件夹是否存在
getatime(path):文件或文件夹的最后访问时间,从新纪元到访问时的秒数
getmtime(path):文件或文件夹的最后修改时间
getctime(path):文件或文件夹的创建时间
getsize(path):文件或文件夹的大小,若是文件夹返回0
isabs(path):返回是否是绝对路径
isfile(path):返回是否是文件路径
isdir(path):返回是否是文件夹路径
islink(path):返回是否是快捷方式
join(path1,path2,...):将path进行组合,若其中有绝对路径,则之前的path将被删除
normcase(path):转换路径中的间隔符
normpath(path):转换路径为系统可识别的路径
realpath(path):转换路径为绝对路径
split(path):将路径分解为(文件夹,文件名)
splitext(path):将路径分解为(其余部分,.扩展名),若文件名中没有扩展名,扩展名部分为空字符串
在操作与系统不支持的对象时,抛出OSError异常。
2.sys模块
系统信息和方法模块,提供了很多实用的变量和方法:
argv:命令行参数List,第一个元素是程序本身路径
builtin_module_names:Python解释器导入的模块列表
modules.keys():返回所有已经导入的模块列表
exc_info():获取当前正在处理的异常类
exc_type、exc_value、exc_traceback:当前处理的异常详细信息
executable:Python解释程序路径
exit(n):退出程序,正常退出时exit(0)
getwindowsversion():获取Windows的版本
hexversion:获取Python解释程序的版本值,16进制格式如:0x020403F0
version:获取Python解释程序的版本信息
maxint:最大的Int值
maxunicode:最大的Unicode值
modules:返回系统导入的模块字段,key是模块名,value是模块
path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
platform:返回操作系统平台名称
3.built-in内置模块
eval(expr[,globals[,locals]]):执行一段代码,并返回结果
exec(expr[,globals[,locals]]):执行一段代码
execfile(file[,globals[,locals]]):执行一个文件
filter(func,list):使用函数来过滤list,返回满足要求的list元素组
getattr(obj,name[,default]):获取对象的属性,若没有该属性,则返回默认值
setattr(obj,name,value):设置对象的属性,若没有该属性,则异常
hasattr(obj,name):返回对象是否有指定属性
input([prompt]):提示控制台输入,必须输入常量或变量,若想直接输入字符串,需要使用引号括起来
raw_input([prompt]):提示控制台输入,直接输入数字或字符串
open(filename,mode):打开文件,mode可以为:w,r,a,若想同时读写,则加上+,若想以二进制读写,则加上b
reload(module):再次导入已导入过的模块
type(obj):返回一个对象的类型
zip(seq1,...):将若干个元组进行合并,长度以元组中的最短的为准
4.time模块
这个模块定义的都是和时间、时钟、计时相关的内容:
clock():返回第一次调用到当前调用时的计时,是以秒为单位的浮点数
localtime([t]):返回时间的数组,有9个元素(年,月,日,时,分,秒,星期几,当年的第几天,是否夏令时),星期一为0
mktime(tlist):是localtime的反函数,将一个9元数组转成一个浮点时间值,后3个元素,系统会自己调整
sleep(n):挂起线程n秒
strftime(fstring[,t]):格式化显示时间,fstring常用关键字:
%a,%A:星期的缩写,全拼
%b,%B:月份的缩写,全屏
%c,%x,%X:本地默认表示法(日期时间,日期,时间)
%Y(%y:2位),%m,%d,%H,%M,%S:年月日时分秒
%w:星期,0为星期天
strptime(string[,format]):将字符串解析为9元素的时间数组
time():返回当前时间值,浮点数
更高级的用法可以使用datetime模块,创建其中的date,time对象,可以进行加减操作,得出timedelta对象。
5.re模块
限定符说明:
".": 匹配任何字符
"^": 匹配开头
"$": 匹配结尾
"*": 匹配0次或更多次之前的表达式。贪婪时,匹配尽可能多次
"+": 匹配1次或更多次之前的表达式。等价于{1,}
"?": 匹配0次或1次之前的表达式。等价于{0,1}
"*?,+?,??": 非贪婪匹配
"{m,n}": 贪婪式匹配之前的表达式m到n次
"{m,n}?": 非贪婪匹配之前的表达式m到n次
"\": 将下一个字符转义
[ABC]: 指定一个字符集
[^ABC]: 指定一个不在范围内的字符集
"A|B": 匹配条件A或条件B
(pattern): 匹配括号内的表达式,并作为匹配项
(?:pattern): 匹配括号内的表达式,但不作为匹配项
(?#...): 注释,忽略
(?=pattern): 预查,若之后的内容匹配表达式,则成立
(?!pattern): 预查,若之后的内容不匹配表达式,则成立
(?P<name>pattern): 给一个匹配项命名
(?P=name): 匹配与之前命名的匹配项内容相同的部分
如:s='12a34a56'
re.findall('12(?P<xxx>.).*(?P=xxx)56)', s)
(?P<xxx>.)匹配到a,则(?P=xxx)的内容也必须为a时才pp
(?iLmsux): 设置I,L,M,S,U,or X标记
转义符说明:
\A: 匹配开头
\Z: 匹配结尾
\b: 匹配开头或结尾的空字符串,通常是指单词边界 ???
\B: 匹配非开头和结尾的空字符串,通常是指非单词边界???
\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_]
\\: 匹配一个反斜杠
\f: 匹配一个换页符。等价于\x0C 和 \cL
\n: 匹配一个换行符。等价于\x0A 和 \cJ
\r: 匹配一个回车符。等价于\x0D 和 \cM
\t: 匹配一个制表符。等价于\x09 和 \cI
\v: 匹配一个垂直制表符。等价于\x0B 和 \cK
\xHH: 匹配 HH,其中 HH 为十六进制转义值
\uHHHH: 匹配 HHHH,其中 HHHH 是一个用四个十六进制数字表示的Unicode字符
常用匹配:
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*\\?\\S*)?$
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
匹配国内电话号码:(\d{3}-|\d{4}-)?(\d{8}|\d{7})?
匹配腾讯QQ号:^[1-9]*[1-9][0-9]*$
模块使用:
match:
search:
sub: 替换
subn: 替换并返回替换的次数
split: 分隔
findall: 查找所有匹配项
compile:
purge:
escape:
可选参数:
I(IGNORECASE): 忽略大小写
L(LOCALE): 使用\w,\W,\b,\B时依据本地配置???
M(MULTILINE): 多行,"^"匹配每行的开头,"$"匹配每行的末尾
S(DOTALL): 使"."匹配包含换行符在内的任意字符
X(VERBOSE): 忽略空白处和注释内容
U(UNICODE): 使\w,\W,\b,\B依靠UNICODE编码
6.thread模块
7.urllib模块
8.urllib2模块
9.socket模块
10.file对象操作
open(文件名,模式,缓冲):模式可以置为(r,w,a,r+,w+等),这些模式本身不会去锁定文件,在同时使用读和写时,要使用seek来移动位置。
close():关闭的作用是置位closed,多次关闭不会引发异常。
flush():将内在缓冲的内容写入文件。
read(n):读入若干字节,无n时,读入全部。
readline(n):读入若干行,n表示读入的最长字节数。
seek(offset,where):where=0从起始位置移动,1从当前位置移动,2从结束位置移动。
tell():文件的当前位置。
truncate(n):截断文件为n个字符,无n表示从当前位置起截断。
write(str):在当前位置写入字符串。
writelines(lines):相当于给lines中的每个字符串调用write函数。
11.其它模块
filecmp.cmp(file1,file2):比较file1和file2的内容是否相同
dircmp:可以构造一个比较两个目录内容的对象,较强
getpass.getpass(prompt):让用户在控制台输入不显示的密码
getopt.getopt(args,opti*****[,long_opti*****]):用于解析运行参数
shutil.copy(file1,file2):将文件1复制到file2
python 常用模块的更多相关文章
- Python常用模块之sys
Python常用模块之sys sys模块提供了一系列有关Python运行环境的变量和函数. 常见用法 sys.argv 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list). 变量 ...
- Python常用模块中常用内置函数的具体介绍
Python作为计算机语言中常用的语言,它具有十分强大的功能,但是你知道Python常用模块I的内置模块中常用内置函数都包括哪些具体的函数吗?以下的文章就是对Python常用模块I的内置模块的常用内置 ...
- python——常用模块2
python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...
- python——常用模块
python--常用模块 1 什么是模块: 模块就是py文件 2 import time #导入时间模块 在Python中,通常有这三种方式来表示时间:时间戳.元组(struct_time).格式化的 ...
- Python常用模块——目录
Python常用模块学习 Python模块和包 Python常用模块time & datetime &random 模块 Python常用模块os & sys & sh ...
- python 常用模块之random,os,sys 模块
python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...
- python常用模块之时间模块
python常用模块之时间模块 python全栈开发时间模块 上次的博客link:http://futuretechx.com/python-collections/ 接着上次的继续学习: 时间模块 ...
- python常用模块之subprocess
python常用模块之subprocess python2有个模块commands,执行命令的模块,在python3中已经废弃,使用subprocess模块来替代commands. 介绍一下:comm ...
- python常用模块之string
python常用模块string模块,该模块可以帮我们获取字母.数字.特殊符号. import string #打印所有的小写字母 print(string.ascii_lowercase) #打印所 ...
- python常用模块-调用系统命令模块(subprocess)
python常用模块-调用系统命令模块(subprocess) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. subproces基本上就是为了取代os.system和os.spaw ...
随机推荐
- ubuntu 修改主机及主机名
修改主机: sudo vim /etc/hostname sudo vim /etc/hosts 修改用户名: sudo vim /etc/passwd sudo mv /home/yinggc /h ...
- json的数据格式(仔细查看)
1.json对象就是jsonObject,jsonobject里可以放入很多键值对,并以逗号为分隔符. jsonObject里还可以嵌套JsonObject对象,或者数组信息作为value,数组作为k ...
- Sina App Engine(SAE)入门教程(5)- SaeSegment(中文分词服务)使用
分词能干什么? 提取一篇文章的关键字 检测特定的段落中有没有违禁词 智能机器人 …..尽你所想 开启SAE 分词服务 首先你需要在sae的管理面板开始分词服务后才能使用sae的服务.具体的开启操作: ...
- Git教程之创建版本库(2)
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以追踪历史,或 ...
- 语言基础:C#运算符
运算符 分类 符号 解释 优先级 算术运算符 ++ -- 加加 减减 由高到低,即执行顺序由上到下.(圆括号的优先级最高) * / % 乘 除 取余 + - 加 减 关系运 ...
- 车牌识别LPR系统系列文章汇总
这里的LPR的的几篇文章是之前项目的一些相关资料的整理,涉及实验室内部的资料就没有放上来,希望能对想了解这方面的同学,有所帮助,那怕了解个大概也好.知道整体的思路就好.当初就是一个人瞎摸索,走了很多的 ...
- 信息:Could not publish server configuration for Tomcat v6.0 Server at localhost. Multiple Context
需要把server.xml更正一下,去掉重复的context.或者把整个server文件夹都删掉,重新添加服务器.也可以在server窗口中删除server,再新添加一个server.
- HighChart图片本地导出
Highchart第三方图表控件,导出默认是从官方地址导出,这样在无外网的条件下则导致导出失败,改进如下: 后台导出代码: public partial class HighChart : Syste ...
- BZOJ_1028_[JSOI2007]_麻将_(模拟+贪心)
描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1028 同一种花色的牌,序数为\(1,2,...,n\).定义"和了"为手上 ...
- 使用Spring时遇到的bug及解决
1.myeclipse中Spring 不给提示 解决:(1)window – preferences – myeclipse – files and editors – xml – xml catal ...