【发布时间】:2019-05-05 21:19:22
【问题描述】:
我目前正在使用 os.path.join 生成文件的路径,如下所示:-
myFile = 'csvfile.csv'
myPath = r'\\mydomain\12345\Original Format\'
myFullPath = os.path.join(myPath, myFile)
这个输出:-
\\mydomain\12345\Original Format\csvfile.csv
这个变量可以正常工作,但是我需要稍后从子进程调用中调用它,因为我希望运行 Windows CLI .exe 并将我的变量 myFullPath 作为参数传递给 Windows CLI。不幸的是,每当我运行 subprocess.call() 函数时,它都会失败,因为它无法处理目录路径中“原始格式”之间的空间。
有什么建议我可以如何处理这个问题,以便 Subprocess 调用可以处理路径中的空间?
我的子进程调用如下:-
command = r"C:/Program Files/myExe.exe -user %s -case %s -tags %s" % (username, path, tags)
subprocess.call(command)
谢谢
【问题讨论】:
-
@zondo 我已经用 subprocess.call 编辑了我的原始问题。我没有使用列表。
-
你可以改成
subprocess.call(["C:/Program Files/myExe.exe", "-user", username, "-case", path, "-tags", tags]) -
完美 - 谢谢@zondo
-
鉴于它以 `\\` 开头,我认为它是 Windows 的网络资源。对吗?
-
是的@jalazbe 这是一个网络资源
标签: python python-3.x python-2.7 subprocess