2013-08-01 3 views
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/*.*' 
+0

@Blender - его доступный сетевой путь –

ответ

1

Вы должны использовать сырые строки (или избежать слэш) при работе с путями Windows:

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

В противном случае \nfc будет рассматриваться как <newline>fc.

0

Посмотрите на пути производства, показанном в сообщении об ошибке. Я думаю, вы забыли обратную косую черту между источником и предметом. ;)

Просто добавьте обратную косую черту в конце source и destination или добавьте ее в начале статьи в поле copy_list.

+0

как удалить двойную обратную косую черту «\\» в пути и убедиться, что они не используются в качестве escape-символов –

0

Я никогда не использовал Shutil перед тем, однако вы можете использовать Os

import os 

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

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

"os.system()" в основном выполняет команду терминала. Для окон замените «cp» на «copy», поскольку команда отличается.

Смежные вопросы