我正在尝试从一个位置复制到另一个位置,如下所示并遇到以下错误,是否有人可以提供有关如何克服此问题的输入?
import argparse
import shutil, errno
def copystuff(src, dst):
try:
shutil.copytree(src, dst)
except OSError as exc: # python >2.5
if exc.errno == errno.ENOTDIR:
shutil.copy(src, dst)
else: raise
def main ():
source= "\\Terminal\workspace\username\nfc\AU_LINUX_ANDROID_JB_3.2_RB2.04.03.00.129.005"
destination= "\\fosters\loc\LA\Build"
copy_list=['\out\target\product\msm8226\obj\KERNEL_OBJ\vmlinux']
for item in copy_list:
src = source + item
dest = destination + item
copystuff(src,dest)
if __name__ == '__main__':
错误: -
WindowsError: [Error 3] The system cannot find the path specified: '\\Terminal\workspace\username\nfc\AU_LINUX_ANDROID_JB_3.2_RB2.04.03.00.129.005\out\\target\\product\\msm8226\\obj\\KERNEL_OBJ\\vmlinux/*.*'
答案 0 :(得分:1)
在处理Windows路径时,您需要使用原始字符串(或转义斜杠):
source= r"\\Terminal\workspace\username\nfc\AU_LINUX_ANDROID_JB_3.2_RB2.04.03.00.129.005\\"
否则,\nfc
将被视为<newline>fc
。
答案 1 :(得分:0)
查看生成的路径,显示在错误消息中。我想你忘记了源和项目之间的反斜杠。 ;)
只需在source
和destination
的末尾添加反斜杠,或在copy_list
中的项目开头添加一个反斜杠。
答案 2 :(得分:0)
我之前从未使用过Shutil但是你可以使用Os
import os
def copystuff(src, dst)
os.system("cp " + src + " " + dst)
copystuff("/example/directory/file.txt", "/other/directory")
&#34; os.system()&#34;基本上运行终端命令。对于Windows,请替换&#34; cp&#34;用&#34;复制&#34;因为命令不同。