繁体   English   中英

在 python 中调用 Robocopy - 开关不起作用?

[英]Calling Robocopy within python - Switches arent working?

所以在我的代码中,我正在调用 subprocess 模块 import subprocess

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

如果我将开关添加到字符串的末尾

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

它复制但在复制的产品中创建开关作为子目录,而不是我想要的。

很可能是我忽略了一个简单的菜鸟错误!

开关应该作为单独的字符串添加,用逗号分隔。 像这样:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM