我尝试将批处理文件中的一些 dos 命令移至 python 中,但出现此错误,对于以下语句,文件名、目录名或卷标语法不正确。
subprocess.Popen('rd /s /q .\ProcessControlSimulator\bin', shell=True,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
如果我只是将该 dos 命令复制到窗口控制台中,它就可以工作。 os.getcwd() 给了我预期的工作目录。
我的问题是:
1. 这是为什么?
2.如何避免这种情况?我是否需要获取当前工作目录并为该命令构建抽象路径?怎么做?
thanks
\
(反斜杠)是字符串常量中的转义字符,因此您的字符串最终会发生变化。使用双\
s(就像这样\\
) 在字符串常量中:
subprocess.Popen('rd /s /q .\\ProcessControlSimulator\\bin', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)