一、os模块
1、常用的方法
import os print(os.getcwd()) #打印当前路径,显示绝对路径 os.mkdir('test1') #创建文件夹 os.remove('test.py') #只能删文件 print(os.listdir( '.')) #打印目录下的所有文件和文件夹 os.rename(old,new) #修改文件名字 print(os.path.split('D:pythonday5os模块.py')) #分割路径和文件名,保存在元组 print(os.path.dirname('D:pythongday5os模块.py')) #获取父目录 print(os.path.exists('D:pythonday5os模块.py')) #判断文件或路径是否存在 print(os.path.isfile('D:pythonday5os模块.py')) #判断是否是文件 print(os.path.isdir('D:pythongday5os模块.py')) #判断是否是路径 print(os.path.join(r'D:pythonday5','os模块.py')) #拼接路径
2、其他方法
import os print(os.curdir) #打印相对路径 os.chmod('path',7) #修改文件或目录权限 print(os.chdir('C:\')) #更改当前目录 os.makedirs(r'D:pythonday6 est1') #递归创建文件夹,父目录不存在时创建父文件夹 os.rmdir('path') #只能删除空文件夹 print(os.sep) #系统路径分隔符 print(os.linesep) #系统换行符 d = {} d['换行符'] = os.linesep print(d) print(os.pathsep) #环境变量之间的分隔符 print(os.path.abspath(__file__)) #当前文件的绝对路径 print(os.name) #系统名称 print(os.path.dirname("/usr/local/a.txt")) #获取父目录 print(os.path.basename("/usr/local")) #获取最后一级,如果是文件显示文件名,如果是目录显示目录名 print(os.path.isabs(".")) #判断是否是绝对路径 print(os.path.getatime("len_os.py")) #打印最近访问时间 print(os.path.getmtime("len_os.py")) #打印最近修改时间 print(os.path.getctime("len_os.py")) #打印创建时间
3、system() 和 popen()
res = os.system('ipconfig')#执行操作系统命令,但是不会返回结果 print(res) res = os.popen('ipconfig') #返回命令结果 print(res) #res保存一个内存地址 print(res.read()) #用read()函数读取内容
二、sys模块
import sys print(sys.argv) #获取命令行参数,第一个参数是当前文件的路径 print(sys.path) #python环境变量 sys.path.append(__file__) #添加临时环境变量,在path的最后追加当前文件的路径 sys.path.insert(0,__file__) #添加临时环境变量,在path的最前添加当前文件的路径 sys.exit(0) #正常退出程序
三、random模块
import random, string letters = string.ascii_letters print(random.sample(letters, 8))#从letters中随机取8个组成一个list print(random.choice([1, 2, 3])) #随机取一个元素 print(random.random()) #返回一个(0,1)之间的随机值 print(random.randint(1,5)) #返回一个[1,5]之间的随机值 print(random.randrange(1,5)) #返回一个[1,5)之间的随机值 str1 = [1, 2, 3, 4, 5] random.shuffle(str1) #随机打乱原有list的顺序 print(str1)
四、pickle 和 json模块
import pickle, json org = {'1':'A'} str1 = pickle.dumps(org) #将python基础数据类型转化为仅python可识别的bytes类型 print('str1 = pickle.dumps(org) = ', str1, 'type(str1) = ', type(str1)) print('pickle.loads(str1) = ', pickle.loads(str1)) #将仅python可识别的bytes类型转化为python基础数据类型 with open('result.pk','wb') as f: #将python基础数据类型转化为仅python可识别的bytes类型写入文件;文件必须用二进制方式打开,否则报错 pickle.dump(org, f) with open('result.pk','rb') as f: #读取pk文件,并转化为python基础数据类型 print('pickle.load(f) = ', pickle.load(f)) str2 = json.dumps(org) #将python基础数据类型转化所有语言可识别的字符串 print('str2 = json.dumps(org) = ', json.dumps(org), 'type(str2) = ', type(str2)) print('json.loads(str2) = ', json.loads(str2)) #将字符串转化为python基础数据类型 with open('result.json', 'w',encoding='UTF-8') as f: #将python基础数据类型转化所有语言课识别的字符串,并写入文件 json.dump(org, f, ensure_ascii=False) #ensure_ascii=False可在文件中写入中文 with open('result.json', 'r') as f: #读取json文件,并转化为python基础数据类型 print('json.load(f) = ', json.load(f))