模块

time,datetime模块

Import time

# print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来

# print(time.altzone)  #返回与utc时间的时间差,以秒计算\

# print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",

# print(time.localtime()) #返回本地时间 的struct time对象格式

# print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式

# print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",

#print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上

 

# 日期字符串 转成  时间戳

# string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式

# print(string_2_struct)

# struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳

# print(struct_2_stamp)

 

#将时间戳转为字符串格式

# print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式

# print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式

 

#时间加减

import datetime

# print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925

#print(datetime.date.fromtimestamp(time.time()) )  # 时间戳直接转成日期格式 2016-08-19

# print(datetime.datetime.now() )

# print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天

# print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天

# print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时

# print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分

 

random模块

生成随机数

print random.random()

print random.randint(1,2)

print random.randrange(1,10)

 

os模块

os.getcwd()  获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname")   改变当前脚本工作目录;相当于shell下cd

os.curdir   返回当前目录: ('.')

os.pardir   获取当前目录的父目录字符串名:('..')

os.makedirs('dirname1/dirname2')    可生成多层递归目录

os.removedirs('dirname1')    若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir('dirname')    生成单级目录;相当于shell中mkdir dirname

os.rmdir('dirname')    删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.listdir('dirname')    列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.remove()   删除一个文件

os.rename("oldname","newname")   重命名文件/目录

os.stat('path/filename')   获取文件/目录信息

os.sep     输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.linesep     输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

os.pathsep     输出用于分割文件路径的字符串

os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

os.system("bash command")   运行shell命令,直接显示

os.environ   获取系统环境变量

os.path.abspath(path)   返回path规范化的绝对路径

os.path.split(path)   将path分割成目录和文件名二元组返回

os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素

os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path)  如果path是绝对路径,返回True

os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False

os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间

os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

 

 sys模块

sys.argv           命令行参数List,第一个元素是程序本身路径

sys.exit(n)        退出程序,正常退出时exit(0)

sys.version        获取Python解释程序的版本信息

sys.maxint         最大的Int值

sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform       返回操作系统平台名称

 

shutil模块

高级的 文件、文件夹、压缩包 处理模块

 

json,pickle模块

json,用于字符串 和 python数据类型间进行转换

pickle,用于python特有的类型 和 python的数据类型间进行转换

  1. json.dumps() :把内存数据变成字符串
  2. json.dump() :不仅把内存数据变成字符串,还把它存到文件里
  3. json.loads() :把字符串转换成内存数据
  4. json.load() :把字符串从文件中读取,然后转成内存数据

 

shelve模块

shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式

 

xml模块

xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。

 

pyymal模块

处理ymal文档格式,需要安装一个模块

 

configparser模块

用于生成和修改常见配置文档

 

 

 hashlib模块

用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

 

re模块

常用正则表达式符号

'.'  默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行

'^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)

'$'  匹配字符结尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以

'*'     匹配*号前的字符0次或多次,re.findall("ab*","cabb3abcbbac")  结果为['abb', 'ab', 'a']

'+'     匹配前一个字符1次或多次,re.findall("ab+","ab+cd+abb+bba")

结果['ab', 'abb']

'?'     匹配前一个字符1次或0次

'{m}'   匹配前一个字符m次

'{n,m}' 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb")

结果'abb', 'ab', 'abb']

'|'     匹配|左或|右的字符,re.search("abc|ABC","ABCBabcCD").group() 结果'ABC'

'(...)' 分组匹配,re.search("(abc){2}a(123|456)c", "abcabca456c").group()

结果 abcabca456c

 

 

'\A'    只从字符开头匹配,re.search("\Aabc","alexabc") 是匹配不到的

'\Z'    匹配字符结尾,同$

'\d'    匹配数字0-9

'\D'    匹配非数字

'\w'    匹配[A-Za-z0-9]

'\W'    匹配非[A-Za-z0-9]

's'     匹配空白字符、\t、\n、\r , re.search("\s+","ab\tc1\n3").group() 结果 '\t'

 

最常用的匹配语法

re.match   从头开始匹配

re.search   匹配包含

re.findall   把所有匹配到的字符放到以列表中的元素返回

re.splitall   以匹配到的字符当做列表分隔符

re.sub     匹配字符并替换

 

posted @ 2018-11-24 17:16  TY单人行  阅读(130)  评论(0编辑  收藏  举报