需求
使用Python脚本获得某个文件夹下的所有文件并打印(如果文件夹下还有文件夹,也一并循环列出来)
实现
python可以os的一系列方法,例如:
os.listdir 列出文件夹下的文件
os.path.xxx 获取文件的信息
另外还有文件大小格式化的工具方法。
代码如下:
# -*- coding: UTF8 -*- import os # 文件大小格式化 def readable_file_size(bytes, precision): for unit in ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB']: if abs(bytes) < 1024.0: return '%s %s' % (format(bytes, '.%df' % precision), unit) bytes /= 1024.0 return '%s %s' % (format(bytes, '.%df' % precision), 'Yi') def list_all_files(root_dir): for filename in os.listdir(root_dir): file_path = os.path.join(root_dir, filename) if os.path.isfile(file_path): file_len = os.path.getsize(file_path) # os.path.getmtime(file_path) # 获取文件的修改时间 # os.path.getctime(file_path) # 获取文件的创建时间 # os.path.getatime(file_path) # 获取文件的访问时间 print('文件:%s 大小:%s' % (file_path, readable_file_size(file_len, 2))) # 如果是文件夹,继续打印这个文件夹下的文件 if os.path.isdir(file_path): list_all_files(file_path) root_dir = '/Users/Terry/Downloads' list_all_files(root_dir)
文章评论