文件系统操作(os模块)
1 import os 2 3 file_name = "D:\test_data\1.txt" 4 file_name_2 = "D:\test_data\3.txt" 5 # 删除文件 6 # os.remove(file_name) 7 8 # 文件重命名 9 # os.rename(file_name, file_name_2) 10 11 # 删除空目录 12 dir_name = 'D:\test_data\1' 13 # os.removedirs(dir_name) 14 15 dir = 'D:\test_data\1' 16 # 获取指定目录下的文件列表 17 file_lists = os.listdir(dir) 18 print("获取指定目录下的文件列表:", file_lists) 19 # 获取文件创建时间 20 file_time = os.path.getmtime(dir + "\" + file_lists[-1]) 21 print("文件创建时间:", file_time) 22 # 判断文件是否是目录 23 file_is_dir = os.path.isdir(dir + "\" + file_lists[-1]) 24 print("文件是否是目录:", file_is_dir) 25 # 组装文件完整路径 26 file_path = os.path.join(dir, file_lists[-1]) 27 print("文件的完整路径:", file_path) 28 # 获取文件大小 29 file_size = os.path.getsize(file_path) 30 print("文件大小:", file_size)
运行结果:
1 获取指定目录下的文件列表: ['2-1', '2-1.txt', '2-2', '2-2.txt'] 2 文件创建时间: 1500290284.2089198 3 文件是否是目录: False 4 文件的完整路径: D: est_data12-2.txt 5 文件大小: 3
文件遍历:
- 遍历目录下所有文件包括子目录
- os.walk功能:递归遍历目录下的文件和子目录,参数(需要遍历的目录,排序=ture为顺序)
- 返回三个值:当前目录、当前目录下的目录列表和当前目录下的文件列表
1 for file_path, dirs, file_names in os.walk(dir_name, topdown=True): 2 print("----------------------------------") 3 print("原名:", file_path, dirs, file_names) 4 for file_name in file_names: # 遍历文件名列表 5 print("-" * 20) 6 print("目录下文件路径:", os.path.join(file_path, file_name)) 7 file_name_temp = os.path.join(file_path, file_name) # 组装完整文件名称,含路径 8 list = file_path.split("\") # 切分文件名,方便获取父目录名称 9 print("文件父目录名:", list[-1])
运行结果:
1 ---------------------------------- 2 原名: D:1 ['2-1', '2-2'] ['2-1.txt', '2-2.txt'] 3 ---- 4 目录下文件路径: D:12-1.txt 5 文件父目录名: 1 6 ---- 7 目录下文件路径: D:12-2.txt 8 文件父目录名: 1 9 ---------------------------------- 10 原名: D:12-1 ['3-1', '3-2'] ['3-1.txt'] 11 ---- 12 目录下文件路径: D:12-13-1.txt 13 文件父目录名: 2-1 14 ---------------------------------- 15 原名: D:12-13-1 [] ['4-1.txt'] 16 ---- 17 目录下文件路径: D:12-13-14-1.txt 18 文件父目录名: 3-1 19 ---------------------------------- 20 原名: D:12-13-2 [] [] 21 ---------------------------------- 22 原名: D:12-2 [] []