常用模块

collections
在内置数据类型(dict,list,tuple,set)基础上,collections提供了二外几个数据类型,Counter,deque,defaultdict,namedtuple,OrderdDict
namedtuple:生成可以使用名字访问元素内容的tuple
deque 双向列表
OrderdDict:生成一个有序字典,用法同dict
Counter: 计算每个元素出现的次数

import collections

point = collections.namedtuple('Point', ['x', 'y'])
p = point(1, 2)
print(p.x, p.y)
print(p)


time
time.time() 获取当前时间戳
time.sleep()
表示时间的三种格式:timestramp,struct_time,format string
timestramp: time.time
format string:time.strftime('%Y-%m-%d %H:%M:%S ')
struct time:time.locate() 返回为一个元组,


random
random.random()大于0小于1的小数
random.uniform(2,5) 大于2小于5的小数
random.randint(1,5)大于等于1小于等于5的整数
random.randrange(1,10,2) 大于等于1小于10,步长为2的随机整数
random.choice([1,'23',[4,5]]) 随机选择一个返回
random.sample([1,'23',[4,5]],2) 组合任意两个返回
random.shuffle([1,2,34,5]) 打乱列表次序

os 与操作系统相关的操作
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.system("bash command") 运行shell命令,直接显示
os.popen("bash command).read() 运行shell命令,获取执行结果
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd

os.path
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所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小
os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

sys 提供与python解释器相关的操作
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0),错误退出sys.exit(1)
sys.version 获取Python解释程序的版本信息
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdin 输入相关
sys.stdout 输出相关
sys.stderror 错误相关

json 处理成字符串
提供四个功能 dump,load,dumps,loads
dump,load用于处理文件
ensure_ascii=False 参数设置写入文件是否为编码以及可查看形式,中文课正常显示

pickle 处理成二进制,专用于python
dump,load,dumps,loads

re 正则表达式
re.findall('a','abcc') 返回所有满足匹配条件的结果,放到序列中
re.search('a','abca').group() 返回找到的第一个满足条件的结果
re.match('a','abca')
re.split('a','abca') 按照正则规则进行分隔
re.sub('a','A','abca') 替换 一次
re.subn('a','A','abca') 全部替换
obj = re.compile('a')
obj.search('abc') 将正则表达式编译成一个对象,然后在调用
re.finditer('a','anc') 返回一个存放结果的迭代器



hashlib
h = hashlib.md5()
h.update('how are you')
加盐
h = hashlib.md5('salt'.encode('utf-8'))

configparse


logging
日志模块
import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')


import logging
logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a, %d %b %Y %H:%M:%S',
filename='/tmp/test.log',
filemode='w')

logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')

shutil
文件、文件夹、压缩包处理模块

posted @ 2018-12-10 23:01  springy  阅读(62)  评论(0)    收藏  举报