我是Python的初学者。我想将目录和子目录(使用os.walk)中的特定文件(使用模式匹配和shutil.copy)复制到新目录中。 该代码仅适用于一个子目录中的一个文件,不适用于多个子目录。
通过使用模式匹配和shutil.copy,可以将只有一个子目录中的一个特定文件复制到新目录中。 当我要匹配来自不同子目录的特定文件时,无法将其复制到新目录中。
这是一个子目录中文件的代码:
import os
import shutil
import shutil
from fnmatch import fnmatch
root = r'C:\Users\Fabien.Seychelles\Documents\Projects\Python_weather\Weather_Files'
dest =r'C:\Users\Fabien.Seychelles\Documents\Projects\Python_weather\CSV_converted'
pattern2 = '*TMY*.epw'
for path, subdirs, files in os.walk(root):
for filename in files:
if fnmatch(filename, pattern2):
shutil.copy(root + '\\'+ filename, dest)
我当时正在考虑使用递归副本或shutil.copytree,但我不确定。
谢谢
答案 0 :(得分:0)
我猜你在窗户上?
您可以使用子进程或os.system以编程方式调用“ dir”命令并使用输出。您可以使用的标志是
dir /s /b
/ s用于子目录,/ b用于裸输出