我要运行以下命令:
@objc func fileComplete() {
print("IT'S DONE!")
}
其格式为:
'xcopy /e "%s" "%s"'%(executablesPath + "\\*", sourcePath+"\\Executables\\")
并在其中运行:
xcopy /e "I:\Storage$\tools\Executables\*" "C:\Win10x64-1903\Executables\"
是什么导致错误subprocess.run(shlex.split(command))
?
答案 0 :(得分:0)
shlex.split
不喜欢双引号前的最后一个反斜杠。似乎您想转义该引号,因此出现消息。
快速修复:将sourcePath+"\\Executables\\"
替换为os.path.join(sourcePath,"Executables")
更好的解决方法:不要只为了再次分割命令行而编写命令行。只需使用参数列表
subprocess.run(["xcopy","/e",os.path.join(executablesPath,"*"),os.path.join(sourcePath,"Executables")])
更好的是,使用shutil.copytree
递归复制目录。无需非便携式外部命令。 (未经测试的)内容:
import shutil
shutil.copytree(executablesPath,os.path.join(sourcePath,"Executables"))