我想将一些图片从一个目录复制到另一个目录,这是我的代码:
import os.path
import shutil
def copyFile(sourceDir,targetDir):
for files in os.listdir(sourceDir):
sourceFile=os.path.join(sourceDir,files)
if os.path.isfile(sourceFile) and sourceFile.find('.jpg')>0:
shutil.copy(sourceFile,targetDir)
for i in os.listdir('/Users/liuchong/Desktop/LFW/new'):
copyFile(i,'/Users/liuchong/Desktop/LFW/lfw')
但是当我运行它时,终端告诉我 OSError: [Errno 20] Not a directory: '.DS_Store'
我知道“DS_dstore”是 Mac 中的一个隐藏文件,但我该如何解决这个错误?
原文由 Liu Chong 发布,翻译遵循 CC BY-SA 4.0 许可协议
你的逻辑似乎被严重破坏了。您遍历目录中的所有文件,将每个文件传递给
copyFile
。但是 在 该函数内部,您再次尝试遍历传递给该函数的“目录”中的每个文件:除了您不只将目录传递给该函数之外,您传递的是在原始目录中找到的每个文件。目前尚不清楚您要做什么,但我认为您需要删除其中一个对
listdir
的调用以及相关的循环。