Shutil.copytree ----> WindowsError:[错误3]系统找不到指定的路径:

时间:2020-03-12 05:53:27

标签: python windows operating-system shutil

我正在尝试从源中提取内容并移到目标文件夹中。

folder1 = 2018
folder2 = 8    
folder3 = 3
    source = os.path.join("C:\\","Pizza","Sammy","Logs", "Archive", "DataLog_Private" ,str(folder1),"0" + str(folder2),"0" + str(folder3))

    destination = os.path.join("C:\\","Users", "alex", "Desktop", "logPull" , "DataLog_Private" ,str(folder1),"0" + str(folder2),"0" + str(folder3))

shutil.copytree(source,destination)

我也尝试过这条路。

#source = r"C://Pizza//Sammy//Logs//Archive//DataLog_Private//%s//%s//%s//" %(str(folder1),"0" + str(folder2),"0" + str(folder3))
#destination = r"C://Users//alex//Desktop//logPull//DataLog_Private//%s//%s//%s//" %(str(folder1),"0" + str(folder2),"0" + str(folder3))

使用copytree

时,两个路径都出现此错误
WindowsError: [Error 3] The system cannot find the path specified'C:\\Pizza\\Sammy\\Logs\\Archive\\DataLog_Private\\2018\\08\\03/*.*'

请帮助。

1 个答案:

答案 0 :(得分:1)

以下内容在Python 3.6中对我有用,请注意环境变量的使用。

import os
import shutil

folder1 = 2018
folder2 = 8    
folder3 = 3

drive = os.path.join(os.getenv("HOMEDRIVE"), os.sep)
date_path = os.path.join(f"{folder1}", f"{folder2:02}", f"{folder3:02}")

source = os.path.join(
    drive, "Pizza","Sammy", "Logs", "Archive", "DataLog_Private", date_path
)
destination = os.path.join(
    os.getenv("USERPROFILE"), "Desktop", "logPull", "DataLog_Private", date_path
)

shutil.copytree(source, destination)

HOMEDRIVE应该指向Windows所安装的任何磁盘。列出是否默认环境变量here

f"{expression}"表示法称为f字符串。这是在Python 3.6 here's the PEP中引入的。在括号内加上:02,数字以0开头。