如何使用python把文件夹下所有文件夹中的表格名称都进行一次比对,并打印出差异
时间: 2024-12-18 12:17:08 浏览: 7
你可以使用Python中的os和fnmatch模块来遍历文件夹下的所有文件和文件夹,并使用Python中的字典来存储和比较文件名。下面是一个示例代码,演示如何使用Python来遍历文件夹下所有文件夹中的表格名称并进行比对并打印出差异:
```python
import os
import fnmatch
# 指定要遍历的文件夹路径
folder_path = '/path/to/folder'
# 创建一个空字典来存储文件名
file_names = {}
# 遍历文件夹下的所有文件和文件夹
for root, dirs, files in os.walk(folder_path):
for file in files:
# 使用fnmatch模块来检查文件是否为表格文件(以.xlsx或.csv结尾)
if fnmatch.fnmatch(file, '*.xlsx') or fnmatch.fnmatch(file, '*.csv'):
# 将文件名添加到字典中,以文件夹路径为键,文件名为值
file_names[root] = file
# 创建一个空列表来存储不同的文件名
diff_files = []
# 遍历字典中的所有键值对,查找不同的文件名
for folder, file in file_names.items():
if folder not in file_names:
diff_files.append(file)
print(f'{folder}: {file}')
# 打印差异文件列表
print('差异文件列表:')
print('\n'.join(diff_files))
```
请注意,上述代码仅检查以.xlsx或.csv结尾的文件是否存在于指定的文件夹中。如果你需要检查其他类型的表格文件,请相应地修改代码中的文件名匹配模式。此外,如果需要比较的文件夹路径不固定,请将`folder_path`变量替换为实际路径。
运行代码后,它将遍历指定的文件夹及其子文件夹,并将找到的所有以.xlsx或.csv结尾的文件名存储在一个字典中。然后,它遍历字典中的所有键值对,查找与字典中不存在的其他文件名,并将其添加到`diff_files`列表中,最后打印出差异文件列表。
阅读全文