os和sys模块
一 、os模块
1、文件的创建和删除
创建文件
import os os.mkdir("dir1") #一次只能创建一个文件夹/文件 os.mkdir('dir3/dir4') # 在已有dir3的文件夹下建立dir4文件夹 os.makedirs("dir1/dir2") # 一次创建dir1和dir2两个文件
删除文件
1 os.rmdir("dir1/dir2") # 一次删一个,每次删除最里层的文件 2 os.removedirs("dir3/dir4") #从最里层的不再包含文件的文件开始删除所有文件
2、os.stat("路径") 查看文件的结构信息
3、os.system和 os.popen
os.system("dir ") 参数可以是Windows的操作命令,如dir,显示当前路径下的所有文件,没有返回值
os.popen("dir") 返回当前目录下的所有文件,适合做查看类
4、os.getcwd() # 获取到当前文件的路径
5、os.chdir("目标目录")切换当前目录到另外的目录
1 os.chdir('D:\sylar\s15\day18') # 切换当前的工作目录 2 ret = os.popen('dir') # 查看切换后的目录的文件 3 s =ret.read() 4 print(s)
6、os.listdir() 和os.path.join()
计算一个文件夹的大小
1 def func(filepath,n): 2 sum=0 3 files=os.listdir(filepath) 4 for f in files: 5 f_d=os.path.join(filepath,f) 6 if os.path.isdir(f_d): 7 print("\t"*n,f) 8 size=func(f_d,n+1) 9 sum=sum+size 10 else: 11 print("\t"*n,f) 12 sum=sum+os.path.getsize(f_d) 13 return sum 14 print(func("F:/workspace",0))
os的路径操作
1、把路径中不符合规范的 / 改成操作系统默认的格式
1 path = os.path.abspath('D:/sylar/s15/day19/4.os模块.py') 2 print(path)
2、能够给能找到的文件路径改成绝对路径
1 path = os.path.abspath('4.os模块.py') 2 print(path)
3、把一个路径分成两段,第二段是一个文件/文件夹
1 path= os.path.split('D:/sylar/s15/day19/4.os模块.py') 2 print(path) 3 path= os.path.split('D:/sylar/s15/day19') 4 print(path)
返回的是一个元组
4、拿到文件路径或者文件
1 ret1 = os.path.dirname('D:/sylar/s15/day19/4.os模块.py') 2 ret2 = os.path.basename('D:/sylar/s15/day19/4.os模块.py') 3 print(ret1) 4 print(ret2)
如果你两个值都需要 os.path.split
如果你只要一个值 os.path.dirname/os.path.basename
5、判断文件/文件夹是否存在
1 res = os.path.exists(r'D:\sylar\s15\day19\4.os模块.py') 2 print(res)
6、判断当前是否是绝对路径
1 res1 = os.path.isabs('lianxi.py') 2 res2 = os.path.isabs(r'E:\PycharmProjects\practice\lianxi.py') 3 print(res1) 4 print(res2)
7、查看文件的大小
1 size= os.path.getsize(r'D:\sylar\s15\day19\4.os模块.py') # 查看文件大小 2 print(size)