使用python将列表中的特定文件复制到新目录的最佳方法是什么?
例如,我有一个文本文件,其中包含类似于以下示例的文件名:
E3004
D0402
B9404
C6089
我想搜索目录,然后将发现存在的文件复制到新目录中,同时列出在新文本文档中找不到的代码。
我是一名完全的python新手,因此非常感谢您的帮助。
这是先前讨论中的一部分代码,被用作解决类似问题的解决方案,但是,我在理解将src,dst和text文档的文件路径确切放置在何处时遇到困难?此外,有没有一种方法可以将未找到的数据保存到单独的文本文档中?
链接到前面的讨论:https://stackoverflow.com/a/51621897/10580480
import os import shutil from tkinter import * from tkinter import filedialog
root = Tk()
root.withdraw()
filePath = filedialog.askopenfilename()
folderPath = filedialog.askdirectory()
destination = filedialog.askdirectory()
filesToFind = []
with open(filePath, "r") as fh:
for row in fh:
filesToFind.append(row.strip())
filename variable itself for filename in os.listdir(folderPath):
if filename in filesToFind:
filename = os.path.join(folderPath, filename)
shutil.copy(filename, destination)
else:
print("file does not exist: filename")
谢谢
答案 0 :(得分:0)
for filename in os.listdir('/home/localDir/INPUT/'):
if filename.startswith("localFileName"):
答案 1 :(得分:0)
使用glob(请参阅https://docs.python.org/3/library/glob.html),您可以在目录中搜索特定的文件名-我已使用它从git clones目录中查找readme.md文件,例如:
for readmeFile in glob.glob('FULLPATH/clones/*/readme.md'):
所以在您的情况下: 循环浏览包含文件名的文档
for readmeFile in glob.glob('FULLPATH/clones/*/' + filename):