A目录下有B、C两个文件夹,B文件夹里有D、E、F三个文件夹,C文件夹里有H、J、K三个文件夹;D、E、F和H、J、K每个文件夹下又有若干个文件夹,我想从这若干个文件夹中批量提取一个同名文件,并且让这个文件和其对应的文件夹同名。有办法操作吗
时间: 2023-08-22 20:06:40 浏览: 31
可以使用Python的shutil模块和os模块来实现这个操作。下面是一个简单的示例代码,假设要提取的文件名为"example.txt":
```python
import os
import shutil
def extract_files(root_dir):
for dir_name, sub_dirs, files in os.walk(root_dir):
for sub_dir in sub_dirs:
for dirpath, dirnames, filenames in os.walk(os.path.join(dir_name, sub_dir)):
for filename in filenames:
if filename == "example.txt":
source_file = os.path.join(dirpath, filename)
dest_file = os.path.join(dirpath, sub_dir + ".txt")
shutil.copy(source_file, dest_file)
extract_files("A")
```
这个代码会在A目录下递归搜索所有文件夹,找到名为"example.txt"的文件后将其复制到和该文件夹同名的文件中。例如,如果在B/D文件夹中找到了"example.txt",则会将其复制到B/D.txt中。