帮我写一段代码,作用是查询我的电脑里所有后缀是.avi的文件,并且筛选出属性-详细信息-帧速率是30.00帧/秒的文件,将筛选出的文件路径保存到一个excel文件里
时间: 2024-03-16 21:44:56 浏览: 47
c#源代码 遍历指定路径并写入excel文件
好的,以下是符合您要求的Python代码:
```python
import os
import win32com.client as win32
# 获取当前目录
current_dir = os.getcwd()
# 创建一个Excel应用程序实例
excel = win32.gencache.EnsureDispatch('Excel.Application')
# 新建一个工作簿
wb = excel.Workbooks.Add()
# 获取工作表对象
ws = wb.Worksheets(1)
# 设定表头
ws.Cells(1, 1).Value = '文件路径'
# 定义一个列表用于存储符合条件的文件路径
file_list = []
# 遍历整个目录树,查找后缀为.avi的文件
for root, dirs, files in os.walk(current_dir):
for file in files:
if file.endswith('.avi'):
file_path = os.path.join(root, file)
# 打开文件详细信息
details = win32.GetObject(file_path).SummaryInfo
# 获取帧速率
frame_rate = details.GetProperty(280)
if frame_rate == '30.00 fps':
# 将符合条件的文件路径添加到列表中
file_list.append(file_path)
# 将文件路径写入Excel表格中
for i, file_path in enumerate(file_list):
ws.Cells(i+2, 1).Value = file_path
# 保存Excel文件
wb.SaveAs('file_list.xlsx')
# 关闭Excel应用程序
excel.Application.Quit()
```
请将代码复制到您的Python IDE中运行,并在运行之前确保已经安装了win32com模块,否则需要先执行以下命令进行安装:
```
pip install pywin32
```
代码执行完成后,会在当前目录下生成一个名为`file_list.xlsx`的Excel文件,其中包含了所有后缀为.avi且帧速率为30.00帧/秒的文件路径。
阅读全文