我目前正在使用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)
谢谢
答案 0 :(得分:0)
我建议您使用os
如果您使用的是Windows,则需要“浏览”每个\
import os
remote_dir = os.path.join("\\\\","mydomain", "12345","Original Format")
fullpath = os.path.join(remote_dir, "csvfile.csv")
最好使用正确的操作系统联接。如果有空格或其他意外字符,os.path.join()
将确保返回正确的分隔符。