处理带有空格的目录 Python subprocess.call()
回答问题 我正在尝试创建一个扫描文本文件并将参数传递给子进程的程序。一切正常,直到我得到路径中有空格的目录。 我的 split 方法,它分解了参数在空格上绊倒: s = "svn move folder/hello\ world anotherfolder/hello\ world" task = s.split(" ") process = subprocess.check_call(task,
·
回答问题
我正在尝试创建一个扫描文本文件并将参数传递给子进程的程序。一切正常,直到我得到路径中有空格的目录。
我的 split 方法,它分解了参数在空格上绊倒:
s = "svn move folder/hello\ world anotherfolder/hello\ world"
task = s.split(" ")
process = subprocess.check_call(task, shell = False)
做,要么我需要函数来解析正确的参数,要么我将整个字符串传递给子进程而不先分解它。
不过我有点失落。
Answers
请改用列表:
task = ["svn", "move", "folder/hello world", "anotherfolder/hello world"]
subprocess.check_call(task)
如果您的文件包含整个命令,而不仅仅是路径,那么您可以尝试shlex.split():
task = shlex.split(s)
subprocess.check_call(task)
更多推荐
已为社区贡献126473条内容
所有评论(0)