2017-01-20 6 views
-1

так внутри моего кода я называю модуль подпроцесс импорта подпроцессВызов Robocopy в python - Переключение arent работает?

subprocess.call([r"robocopy", r"N:\\GIS\\Projects\\MarkTarrant_Data_Export", r"\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\"]) 

Это прекрасно работает и завершает копию!

Но когда я добавляю переключатель/S/E/MIR в конец, он создает ошибку.

subprocess.call([r"robocopy", r"N:\\GIS\\Projects\\MarkTarrant_Data_Export", r"\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\" /S /Z /MIR]) 


NameError: name 'S' is not defined 

Если добавить theswitches к концу строки

subprocess.call([r"robocopy", r"N:\\GIS\\Projects\\MarkTarrant_Data_Export", r"\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\ /S /Z /MIR"]) 

он копирует, но и создает переключатели как подкаталоги в скопированной продукта не то, что я хотел.

Скорее всего, простая ошибка NoobI упустил!

ответ

1

Переключатели должны быть добавлены как отдельные строки, разделенные запятыми. Пример:

subprocess.call(
    ["robocopy", "N:\\GIS\\Projects\\MarkTarrant_Data_Export", 
    "\\glenllsub1\\spatial\\LLS_Data\\Corporate_Data\\", "/S", "/Z", "/MIR"] 
) 
Смежные вопросы