Python-常用模块
一、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:\python\day5\os模块.py’)) #分割路径和文件名,保存在元组
print(os.path.dirname(‘D:\pythong\day5\os模块.py’)) #获取父目录
print(os.path.exists(‘D:\python\day5\os模块.py’)) #判断文件或路径是否存在
print(os.path.isfile(‘D:\python\day5\os模块.py’)) #判断是否是文件
print(os.path.isdir(‘D:\pythong\day5\os模块.py’)) #判断是否是路径
print(os.path.join(r’D:\python\day5′,’os模块.py’)) #拼接路径
2、其他方法
import os
print(os.curdir) #打印相对路径
os.chmod(‘path’,7) #修改文件或目录权限
print(os.chdir(‘C:\\’)) #更改当前目录
os.makedirs(r’D:\python\day6\test1′) #递归创建文件夹,父目录不存在时创建父文件夹
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))