使用python写一个 获取目录下所有文件夹下指定文件名的文件,并保存到指定文件夹
时间: 2023-09-07 07:15:48 浏览: 128
你可以使用Python的os和shutil模块来实现这个任务。下面是一个示例代码:
```python
import os
import shutil
def get_files_with_specific_name(directory, file_name, output_directory):
# 获取目录下的所有文件夹
subdirectories = [name for name in os.listdir(directory) if os.path.isdir(os.path.join(directory, name))]
for subdirectory in subdirectories:
# 构建当前子文件夹的完整路径
subdirectory_path = os.path.join(directory, subdirectory)
# 获取当前子文件夹下的所有文件
files = [name for name in os.listdir(subdirectory_path) if os.path.isfile(os.path.join(subdirectory_path, name))]
# 寻找指定文件名的文件并复制到输出目录中
for file in files:
if file == file_name:
output_subdirectory = os.path.join(output_directory, subdirectory)
os.makedirs(output_subdirectory, exist_ok=True) # 创建输出子文件夹
source_file = os.path.join(subdirectory_path, file)
destination_file = os.path.join(output_subdirectory, file)
shutil.copy(source_file, destination_file)
print(f"已复制文件: {file} 到目录: {output_subdirectory}")
# 指定目录和输出目录
directory = 'path/to/directory'
output_directory = 'path/to/output_directory'
file_name = 'example.txt' # 指定的文件名
# 调用函数获取指定文件名的文件并保存到指定文件夹
get_files_with_specific_name(directory, file_name, output_directory)
```
在上面的示例代码中,你需要将`directory`替换为你想要搜索的目录路径,将`output_directory`替换为你想要保存指定文件名文件的目录路径,将`file_name`替换为你想要获取的特定文件名。代码会遍历指定目录下的所有文件夹,并将符合指定文件名的文件复制到指定的输出目录中的子文件夹中。
请确保在运行代码之前已经安装了必要的模块(os、shutil),并将目录路径和文件名替换为你自己的实际路径和文件名。
阅读全文