I have the following directory structure:
-mailDir
-folderA
-sub1
-sub2
-inbox
-1.txt
-2.txt
-89.txt
-subInbox
-subInbox2
-folderB
-sub1
-sub2
-inbox
-1.txt
-2.txt
-200.txt
-577.txt
目的是将收件箱文件夹下的所有txt文件复制到另一个文件夹中。为此,我尝试了以下代码
import os
from os import path
import shutil
rootDir = "mailDir"
destDir = "destFolder"
eachInboxFolderPath = []
for root, dirs, files in os.walk(rootDir):
for dirName in dirs:
if(dirName=="inbox"):
eachInboxFolderPath.append(root+"\\"+dirName)
for ii in eachInboxFolderPath:
for i in os.listdir(ii):
shutil.copy(path.join(ii,i),destDir)
如果收件箱目录只有 .txt 文件,那么上面的代码工作正常。由于文件夹A目录下的收件箱文件夹还有其他子目录以及.txt文件,因此代码返回权限被拒绝错误。我的理解是shutil.copy 不允许复制文件夹。
目的是仅将每个收件箱文件夹中的 txt 文件复制到其他位置。如果不同收件箱文件夹中的文件名相同,我必须保留两个文件名。在这种情况下,我们如何改进代码?请注意,除了 .txt 之外,所有其他文件都只是文件夹。
富国沪深
江户川乱折腾
相关分类