python 模块
os
模块是和操作系统的一个交互的接口
import os
#与文件夹相关的
# os.makedirs('c/a/c') #在程序执行的目录下递归创建目录
# os.removedirs('c/a/c') #在程序执行的目录下递归删除目录,如果目录下有文件则不会删除
# os.mkdir('asd') #z在程序执行的目录下创建一个目录 相当一shell中的mkdir asd
# os.rmdir('asd') #在文件执行的目录下删除一个目录,如果目录下有文件则不会删除
#列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
# print(os.listdir('F:\python\s20\day14'))
#与文件相关的一个文件
#删除 相当于rm
# os.remove('文件名')
#更改文件名,相当于mv
# os.rename('旧文件名','新文件名')
#获取文件的相关信息
# print(os.stat('F:\python\s20\day14'))
#和操作系统差异相关
# 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
# print(os.sep)
# 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
# print(os.linesep)
#输出用于分割文件路径的字符串 win下为;,Linux下为:
# print(os.pathsep)
# 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
# print(os.name)
#和执行系统命令相关的
# os.system("shell当中的命令")
# # 运行shell命令,获取执行结果
# os.popen("bash command").read()
#获取系统环境变量
# os.environ
#显示文件的绝对路径
# print(os.path.abspath('b'))
#将路径分为目录和文件名两个部分, 路径是绝对路径
# print(os.path.split('F:\python\s20\day14\b'))
#显示文件的目录,路径是绝对路径
# print(os.path.dirname('F:\python\s20\day14\b'))
#判断文件或目录是否存在,存在是True 不存在是False 可以是绝对路径也可以是相对路径
# print(os.path.exists('123'))
#判断文件是绝对路径,还是相对路径
# print(os.path.isabs('b'))
# 判断文件是否存在,存在是True 不存在是False 可以是绝对路径
# print(os.path.isfile('b'))
# 判断目录是否存在,存在是True 不存在是False 可以是绝对路径
# print(os.path.isdir('123'))
# 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
# print(os.path.join('F:\python\s20\day14','b','c'))
# os.path.getatime(path) 返回path所指向的文件或者目录的最后访问时间
# os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
# os.path.getsize(path) 返回path的大小<br></em>
# 获取当前工作目录,即当前python脚本工作的目录路径
# print(os.getcwd())
# #返回上一层目录,可以指定返回那层目录
# print(os.chdir('..'))
# # 获取当前目录的父目录字符串名
# print(os.getcwd())
# os.curdir 返回当前目录: ('.')
json
用于多种语言交互编 程语言通用数据
import json dic = {"1":1,"2":2,"3":3} s = json.dumps(dic) print(s,type(s)) d = json.loads(s) print(d,type(d)) 结果: {"1": 1, "2": 2, "3": 3} <class 'str'> {'1': 1, '2': 2, '3': 3} <class 'dict'>
import json dic = {"1":1,"2":2,"3":3} json.dump(dic,open('aa','w',encoding='utf-8')) print(json.load(open('aa','r',encoding='utf-8'))) 结果: json.dump 创建一个aa的文件将字典以字符串的形式写进去 json.load 将文件中的字符串,以字典的形式取出来
import json list_dic = [1,['a','b','c'],3,{'k1':'v1','k2':'v2'}] str_dic = json.dumps(list_dic) #也可以处理嵌套的数据类型 print(type(str_dic),str_dic) list_dic2 = json.loads(str_dic) print(type(list_dic2),list_dic2) 结果: <class 'str'> [1, ["a", "b", "c"], 3, {"k1": "v1", "k2": "v2"}] <class 'list'> [1, ['a', 'b', 'c'], 3, {'k1': 'v1', 'k2': 'v2'}]
import json data = {'username':['李华','二愣子'],'sex':'male','age':16} #sort_keys=True 排列的顺序 ,indent=2 每行的缩进 ensure_ascii=False 中文正常显示 json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False) print(json_dic2) 结果: { "age":16, "sex":"male", "username":[ "李华", "二愣子" ] }
pickle
pickle模块提供了四个功能:dumps、dump(序列化,存)、loads(反序列化,读) python之间的转换
import pickle dic = {"1":1,"2":2,"3":3} s = pickle.dumps(dic) print(s,type(s)) d = pickle.loads(s) print(d,type(d)) 结果: b'\x80\x03}q\x00(X\x01\x00\x00\x001q\x01K\x01X\x01\x00\x00\x002q\x02K\x02X\x01\x00\x00\x003q\x03K\x03u.' <class 'bytes'> {'1': 1, '2': 2, '3': 3} <class 'dict'>
import pickle dic = {"1":1,"2":2,"3":3} f = open('as','wb') #以二进制的方式写进文件当中 pickle.dump(dic,f) f.close() f1 = open('as','rb') print(pickle.load(f1)) f1.close()
random
import random 返回0-1之间的任意小数 print(random.random()) 返回指定区间的小数 print(random.uniform(1,4)) 返回指定区间的整数,包含指定的数字 print(random.randint(1,4)) 生成1-5之间的奇数,不包含5 print(random.randrange(1,5,2)) 生成1-5之间的偶数,不包含5 print(random.randrange(0,5,2)) lst = ['张开','宝元','佩奇','太白'] 随机生成列表中的一个元素 print(random.choice(lst)) 随机在列表中选择两个元素,但会重复 print(random.choices(lst,k=2)) 随机在列表中选择两个元素,但不会重复 print(random.sample(lst,k=2)) l = [1,2,3,4,5] 让列表重新打乱组合 random.shuffle(l) print(l) 结果: [5, 3, 1, 2, 4]
sys
import sys # print(sys.argv[-1]) #相当于shell中的传参 # sys.exit() #查看python的版本 # print(sys.version) # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 # print(sys.path) # 返回操作系统平台名称 # print(sys.platform)
hashlib
md5 sha1 sha256 sha512 加密的方式 import hashlib md5 = hashlib.md5("123".encode('utf-8')) md5.update("lulin".encode('utf-8')) print(md5.hexdigest())
浙公网安备 33010602011771号