一、文件夹相关操作
- os.mkdir(path):path由两部分组成,root + dir_name,root默认为当前程序所处文件夹的路径,dir_name为需要创建的文件夹名称
root = r"C:\Users\86419\Desktop\\" os.mkdir(root + "test") # 在C:\Users\86419\Desktop\ 下生成了test文件夹
- os.makedirs(path):同上,root + dirs_name,dirs_name可以为多级文件夹
root = r"C:\Users\86419\Desktop\\" os.makedirs(root + r"test\test1\test2") # 在C:\Users\86419\Desktop\ 下生成了test\test1\test2三级目录
- os.rmdir(path):删除path路径对应的空文件夹,有两点需要注意,一是需要路径为文件夹(文件不可),二是必须为空文件夹
root = r"C:\Users\86419\Desktop\\" os.rmdir(root + r"test") # 删除了C:\Users\86419\Desktop\test 路径对应的test文件夹
- os.removedirs(path):删除path路径对应的多级文件夹,先删除test2, 再删除test1,再删除test,只能删除空文件夹
root = r"C:\Users\86419\Desktop\\" os.makedirs(root + r"test\test1\test2") os.removedirs(root + r"test\test1\test2") # 删除了C:\Users\86419\Desktop\test\test1\test2路径的test2,test1,test文件夹
二、文件相关操作
- os.listdir(* path):列出路径下所有的文件、文件夹,默认为当前路径,输出为列表
print(os.listdir()) # output:['.idea', 'chapter 01', 'chapter 02', 'chapter 03', 'test', 'test_os_path.py'] print(os.listdir(r"C:\Users")) # output:['86419', 'All Users', 'Default', 'Default User', 'DefaultAppPool', 'desktop.ini', 'Public'],即Users目录下所有文件、文件夹
- os.open(path, flags=os.O_CREAT | os.O_RDWR):path同样由两部分组成,root + file_name,root为创建文件所在文件夹的路径,file_name为文件名(需要加后缀); os.O_CREAT: 创建并打开一个新文件, os.O_RDWR : 以读写的方式打开
os.open("test.py", flags=os.O_CREAT | os.O_RDWR) # 在当前目录下创建了test.py文件 root = r"C:\Users\86419\Desktop\\" os.open(root + "test.py", flags=os.O_CREAT | os.O_RDWR) # 在C:\Users\86419\Desktop\ 路径下创建了test.py文件
- os.write(file, bytes(“123”,encoding=“utf-8”)):将bytes写入文件file中
file = os.open(root + "test.py", flags=os.O_CREAT | os.O_RDWR) os.write(file, bytes("123fd", encoding="utf-8")) # 文件中写入123
- os.read(file, n):file文件中的最多读取n个字节,返回bytes字符串
file = os.open(root + "test.py", flags=os.O_CREAT | os.O_RDWR) print(os.read(file, 12)) # output:b'123fd'
- os.close(file):关闭文件
file = os.open(root + "test.py", flags=os.O_CREAT | os.O_RDWR) print(os.read(file, 12)) os.close(file) # 使用文件后关闭文件
- os.remove(path + “test.py”):删除该文件
os.remove(root + "test.py") # 删除了root路径下的test.py文件
- os.walk(path):递归返回path、子目录列表、文件名列表的三元组
root = r"C:\Users\86419\Desktop\test" for path, dirs, files in os.walk(root): print(path, dirs, files) # output: # 该路径下有四个文件夹,无文件 C:\Users\86419\Desktop\test ['test1', 'test2', 'test3', 'test4'] [] # test1文件夹下有一个文件夹test5,一个文件text1.txt C:\Users\86419\Desktop\test\test1 ['test5'] ['text1.txt'] # test5下无文件夹和文件 C:\Users\86419\Desktop\test\test1\test5 [] [] C:\Users\86419\Desktop\test\test2 [] ['text2.txt'] C:\Users\86419\Desktop\test\test3 [] [] C:\Users\86419\Desktop\test\test4 [] []