处理与空间的Python subprocess.call目录()(Handling director

2019-06-26 20:15发布

我试图创建一个扫描文本文件和参数传递给子进程的程序。 直到我的目录与路径空间,一切工作正常。

我的拆分方法,它打破了争论,空间旅行了起来:

s = "svn move folder/hello\ world anotherfolder/hello\ world"

task = s.split(" ")
process = subprocess.check_call(task, shell = False)

这样做,无论是我需要的功能来解析正确的参数,或者我的整个字符串传递给子不打破它放下来。

我有点失落,但。

Answer 1:

使用列表,而不是:

task = ["svn",  "move",  "folder/hello world", "anotherfolder/hello world"]
subprocess.check_call(task)

如果你的文件包含整个命令,不只是路径,那么你可以尝试shlex.split() :

task = shlex.split(s)
subprocess.check_call(task)


文章来源: Handling directories with spaces Python subprocess.call()