自学Python6.3-内置模块(os、sys、hashlib、random、json&pickle&shelve)
自学Python之路-Python基础+模块+面向对象
自学Python之路-Python网络编程
自学Python之路-Python并发编程+数据库+前端
自学Python之路-django
自学Python6.3-内置模块(os、sys、hashlib、random、json & pickle &shelve)
内置模块是Python自带的功能,在使用内置模块相应的功能时,需要 先导入 再 使用。
- python中导入模块使用关键字 import如果是本地导入文件,直接使用:import filename
- 如果导入的是一个包,该包下面必须是有__init__.py 文件才可以导入,否则报错,只有有了__init__.py 文件,python 解析器才会把这个目录当成是的包。
1.OS模块
用于提供系统级别的操作:
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.pardir 获取当前目录的父目录字符串名:('..') os.makedirs('dir1/dir2') 可生成多层递归目录 os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 os.remove() 删除一个文件 os.rename("oldname","new") 重命名文件/目录 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所指向的文件或者目录的最后修改时间
2.sys模块
用于提供对Python解释器相关的操作:
sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.maxint 最大的Int值 sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 sys.platform 返回操作系统平台名称 sys.stdin 输入相关 sys.stdout 输出相关 sys.stderror 错误相关
3.hashlib模块
hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法
4.random模块
# 随机小数 random.random() #用于生成一个0到1的随机浮点数:0<= n < 1.0 random.uniform(a,b) #用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限。如果a > b,则生成的随机数n: a <= n <= b。如果 a <b, 则 b <= n <= a。 # 随机整数 random.randint(a, b) #用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b random.randrange([start], stop[, step]) #从指定范围内,按指定基数递增的集合中 获取一个随机数。 # 随机选择一个返回 random.choice(sequence) # 从序列中获取一个随机元素 # 打乱列表顺序 random.shuffle(x[, random]) # 用于将一个列表中的元素打乱,即将列表内的元素随机排列。 # 随机选择多个返回,返回的个数为函数第二个参数 random.sample(sequence, k) # 从指定序列中随机获取指定长度的片断并随机排列。注意:sample函数不会修改原有序列。
5.json & pickle &shelve序列化模块
数据类型转化成字符串的过程就是序列化,主要是为了方便存储和网络传输。
- json,用于字符串 和 python数据类型间进行转换 (两端可以是不同语言) 。json模块提供了四个功能:dumps、dump(和文件有关)、loads、load(load不能load多次)。
- pickle,用于python特有的类型 和 python的数据类型间进行转换(两端必须使用python语言)。 pickle模块提供了四个功能:dumps、dump、loads、load(方法和json一样)。
- shelve,open方法,open方法获取了一个文件句柄。
import pickle
f = open('user_acc.txt','wb') data = { 'k1':123 , 'k2':'hello' } f.write(pickle.dumps(data)) f.close()
import pickle f = open('user_acc.txt','rb') data_from=pickle.loads(f.read()) # data_from=pickle.load(f)) for i in data_from: print(data_from)
输出结果: {'k1': 123, 'k2': 'hello'}
6.
作者:CARLOS_CHIANG
出处:http://www.cnblogs.com/yaoyaojcy/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
posted on 2017-08-24 06:56 CARLOS_KONG 阅读(217) 评论(0) 编辑 收藏 举报