0

我正在尝试从一个位置复制到另一个位置,如下所示并遇到以下错误,任何人都可以提供有关如何克服此问题的输入吗?

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/*.*'
4

3 回答 3

1

在处理 Windows 路径时,您需要使用原始字符串(或转义斜杠):

source= r"\\Terminal\workspace\username\nfc\AU_LINUX_ANDROID_JB_3.2_RB2.04.03.00.129.005\\"

否则,\nfc将被视为<newline>fc

于 2013-08-01T00:17:24.940 回答
0

查看生成的路径,显示在错误消息中。我认为您忘记了源和项目之间的反斜杠。;)

source只需在and的末尾添加一个反斜杠destination,或者在copy_list.

于 2013-08-01T00:12:35.743 回答
0

我以前从未使用过 Shutil,但是您可以使用 Os

    import os

    def copystuff(src, dst)
        os.system("cp " + src + " " + dst)

    copystuff("/example/directory/file.txt", "/other/directory")

“os.system()”基本上运行一个终端命令。对于 Windows,将“cp”替换为“copy”,因为命令不同。

于 2014-06-23T17:47:17.913 回答