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

时间:2023-03-09 15:16:15
python之文件系统操作(os模块)

文件系统操作(os模块)

 import os

 file_name = "D:\\test_data\\1.txt"
file_name_2 = "D:\\test_data\\3.txt"
# 删除文件
# os.remove(file_name) # 文件重命名
# os.rename(file_name, file_name_2) # 删除空目录
dir_name = 'D:\\test_data\\1'
# os.removedirs(dir_name) dir = 'D:\\test_data\\1'
# 获取指定目录下的文件列表
file_lists = os.listdir(dir)
print("获取指定目录下的文件列表:", file_lists)
# 获取文件创建时间
file_time = os.path.getmtime(dir + "\\" + file_lists[-1])
print("文件创建时间:", file_time)
# 判断文件是否是目录
file_is_dir = os.path.isdir(dir + "\\" + file_lists[-1])
print("文件是否是目录:", file_is_dir)
# 组装文件完整路径
file_path = os.path.join(dir, file_lists[-1])
print("文件的完整路径:", file_path)
# 获取文件大小
file_size = os.path.getsize(file_path)
print("文件大小:", file_size)

运行结果:

 获取指定目录下的文件列表: ['2-1', '2-1.txt', '2-2', '2-2.txt']
文件创建时间: 1500290284.2089198
文件是否是目录: False
文件的完整路径: D:\test_data\1\2-2.txt
文件大小: 3

文件遍历:

  • 遍历目录下所有文件包括子目录
  • os.walk功能:递归遍历目录下的文件和子目录,参数(需要遍历的目录,排序=ture为顺序)
  • 返回三个值:当前目录、当前目录下的目录列表和当前目录下的文件列表
 for file_path, dirs, file_names in os.walk(dir_name, topdown=True):
print("----------------------------------")
print("原名:", file_path, dirs, file_names)
for file_name in file_names: # 遍历文件名列表
print("-" * 20)
print("目录下文件路径:", os.path.join(file_path, file_name))
file_name_temp = os.path.join(file_path, file_name) # 组装完整文件名称,含路径
list = file_path.split("\\") # 切分文件名,方便获取父目录名称
print("文件父目录名:", list[-1])

运行结果:

 ----------------------------------
原名: D:\1 ['2-1', '2-2'] ['2-1.txt', '2-2.txt']
----
目录下文件路径: D:\1\2-1.txt
文件父目录名: 1
----
目录下文件路径: D:\1\2-2.txt
文件父目录名: 1
----------------------------------
原名: D:\1\2-1 ['3-1', '3-2'] ['3-1.txt']
----
目录下文件路径: D:\1\2-1\3-1.txt
文件父目录名: 2-1
----------------------------------
原名: D:\1\2-1\3-1 [] ['4-1.txt']
----
目录下文件路径: D:\1\2-1\3-1\4-1.txt
文件父目录名: 3-1
----------------------------------
原名: D:\1\2-1\3-2 [] []
----------------------------------
原名: D:\1\2-2 [] []