电脑用的时间越长,藏得宝贝越多。各种音乐、视频、书籍和图片,还有工作相关的文件资料,硬盘塞得满满的。
不善于整理的,桌面上堆满,各个硬盘乱塞,时间一久,根本搞不清文件在什么地方。
善于整理的,会分门别类存放。但大类下面分中类、中类下面分小类……时间一久,目录层次越来越深,慢慢也搞不清楚自己有多少宝藏。
虽然通过文件搜索功能可以查找一些文件,但很多时候自己都不记得还有某些宝藏。
针对这个问题,我想到最好的方法就是“拉清单”,大致思路:
1、遍历指定的硬盘或者目录下的所有文件,获取文件信息。
2、根据指定的后缀将文件信息分门别类写入Excel的Sheet中。
这个工作借助Python,几分钟就能搞定,代码很简单:
1、调用Openpyxl库,按照分类创建清单Sheetfrom openpyxl import Workbook
# sheet页名称列表
sheets=['文档','表格','视频','音乐','图片','书籍']
wb = Workbook()
sheetxh = 0
for sheet in sheets:
# 按照顺序创建sheet页
ws=wb.create_sheet(sheet,sheetxh)
ws.title=sheet
# 增加标题行
ws.append(['文件名称', '文件类型', '文件大小', '创建时间','文件路径'])
# 设定列宽
ws.column_dimensions['A'].width = 50
ws.column_dimensions['B'].width = 10
ws.column_dimensions['C'].width = 15
ws.column_dimensions['D'].width = 15
ws.column_dimensions['E'].width = 60
# sheet位置
sheetxh = sheetxh 1
#递归函数
def traverse_files(path):
global wb
global sheets
for file in os.listdir(path):
file_path = os.path.join(path, file)
#当前若是目录
if os.path.isdir(file_path):
# 递归遍历子目录
traverse_files(file_path)
#当前若是文件
elif os.path.isfile(file_path):
# 获取文件长度、后缀和创建时间
file_size = os.path.getsize(file_path)
file_time = datetime.fromtimestamp(os.stat(file_path).st_ctime).strftime('%Y-%m-%d')
file_ext = os.path.splitext(file)[1].lower()
#根据后缀将文件写到sheet页
filetypes = [['.doc', '.docx', '.pdf'], ['.xls', '.xlsx'], ['.mp4'], ['.mp3', '.flac'], ['.jpg', '.png'],['.epub']]
xh=0
for ftypes in filetypes:
for ftype in ftypes:
if file_ext==ftype:
ws=wb[sheets[xh]]
ws.append([file, file_ext, file_size, file_time, path])
xh=xh 1
轻松得到上图运行结果,电脑里有哪些宝藏就清清楚楚了。
附完整代码:import os
from openpyxl import Workbook
from datetime import datetime
def traverse_files(path):
global wb
global sheets
for file in os.listdir(path):
file_path = os.path.join(path, file)
#当前若是目录
if os.path.isdir(file_path):
# 递归遍历子目录
traverse_files(file_path)
#当前若是文件
elif os.path.isfile(file_path):
# 获取文件长度、后缀和创建时间
file_size = os.path.getsize(file_path)
file_time = datetime.fromtimestamp(os.stat(file_path).st_ctime).strftime('%Y-%m-%d')
file_ext = os.path.splitext(file)[1].lower()
#根据后缀将文件写到sheet页
filetypes = [['.doc', '.docx', '.pdf'], ['.xls', '.xlsx'], ['.mp4'], ['.mp3', '.flac'], ['.jpg', '.png'],['.epub']]
xh=0
for ftypes in filetypes:
for ftype in ftypes:
if file_ext==ftype:
ws=wb[sheets[xh]]
ws.append([file, file_ext, file_size, file_time, path])
xh=xh 1
if __name__=='__main__':
# sheet页名称列表
sheets=['文档','表格','视频','音乐','图片','书籍']
wb = Workbook()
sheetxh = 0
for sheet in sheets:
# 按照顺序创建sheet页
ws=wb.create_sheet(sheet,sheetxh)
ws.title=sheet
# 增加标题行
ws.append(['文件名称', '文件类型', '文件大小', '创建时间','文件路径'])
# 设定列宽
ws.column_dimensions['A'].width = 50
ws.column_dimensions['B'].width = 10
ws.column_dimensions['C'].width = 15
ws.column_dimensions['D'].width = 15
ws.column_dimensions['E'].width = 50
# sheet位置
sheetxh = sheetxh 1
#遍历归类
traverse_files("E:\我的文档")
#保存清单
wb.save("E:\我的文档\doclist.xlsx")
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved