如何使用shutil将现有文件复制到现有文件夹

时间:2014-01-23 19:07:59

标签: python image operating-system copy shutil

我正在尝试将图像复制到本地目录,以便以后使用我的程序。

这是我的语法:

import shutil
import os
path = 'C:\t1\x.txt' 
source = os.listdir(path)
destination = "C:\t2" #pre-existing folder
for files in source:
    if files.endswith(".txt"):
        shutil.copy(files,destination)

我得到的错误说:

  

(unicode error)'unicodescape'编解码器无法解码位置5-6中的字节:截断\ xXX转义。

1 个答案:

答案 0 :(得分:0)

您需要执行以下操作之一:

path = r'C:\t1\x.txt'

path = 'C:\\t1\\x.txt'

或正如Bakuriu指出的那样

path = 'C:/t1/x.txt'

destination

也一样

问题是\字符会导致Python以不同方式解释字符串。因此,您可以告诉它将字符串视为原始文本(r'')或者为其提供\字面值,即\\

或者,您可以使用os.path.join()构建文件夹路径,从而使脚本平台独立。对于您正在运行的任何平台,这将始终使用正确的分隔符构造它们。请注意the docs

  

请注意,在Windows上,因为每个目录都有一个当前目录   drive,os.path.join(“c:”,“foo”)表示相对于的路径   驱动器C上的当前目录:(c:foo),而不是c:\ foo。