我正在遍历包含大量文件夹的目录。我想将这些文件夹中的每一个从src
复制到dest
。
我尝试过使用shutil's copytree
,但是存在涉及覆盖现有文件夹的问题。我看到解决方案是使用disutils,但是我无法下载disutils,因为我的工作计算机阻止安装新软件包,pip安装似乎也不起作用。
是否有使用默认包的替代解决方案?
以下是代码,以便您了解我与之合作的内容:
import os
from os.path import join
import shutil
def main():
directory = "Daily_Completed_Surveys"
for root, dirs, files in os.walk(directory):
for i in dirs:
if "POP" in i:
src = os.path.join(root, i)
dest = "C:\ALLPOP"
shutil.copytree(src, dest)
Daily_Completed_Surveys文件夹包含/ [somedate] / POP [ComputerID] [SomeDate] / [zipped files]
等结构我希望将每个文件夹标记为POP并将其复制到目标目录。 (文件夹本身和数据,而不仅仅是压缩数据)我该怎么做?
答案 0 :(得分:1)
您可以检查src
中的dest
目录是否存在,如果是,请使用dest
将其从shutil.rmtree()
删除,然后使用{{1复制目录及其内容。
此外,无法使用shutil.copytree()
有点糟糕。如果您拥有外部世界的代理,您可以使用
pip