python之文件系统操作(os模块)

文件系统操作(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:\test_data\1\2-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:\1\2-1.txt
 5 文件父目录名: 1
 6 ----
 7 目录下文件路径: D:\1\2-2.txt
 8 文件父目录名: 1
 9 ----------------------------------
10 原名: D:\1\2-1 ['3-1', '3-2'] ['3-1.txt']
11 ----
12 目录下文件路径: D:\1\2-1\3-1.txt
13 文件父目录名: 2-1
14 ----------------------------------
15 原名: D:\1\2-1\3-1 [] ['4-1.txt']
16 ----
17 目录下文件路径: D:\1\2-1\3-1\4-1.txt
18 文件父目录名: 3-1
19 ----------------------------------
20 原名: D:\1\2-1\3-2 [] []
21 ----------------------------------
22 原名: D:\1\2-2 [] []

 

posted @ 2017-08-12 21:22  星瑞  阅读(849)  评论(0编辑  收藏  举报