我尝试将一些 dos 命令从我的批处理文件移动到 python 中,但出现此错误,对于以下语句,文件名、目录名或卷标语法不正确。
subprocess.Popen('rd /s /q .\ProcessControlSimulator\bin', shell=True,
stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
如果我只是将该 dos 命令复制到窗口控制台,它就可以工作。 os.getcwd() 给了我预期的工作目录。
我的问题是: 1.这是为什么呢? 2.如何避免?我是否需要获取当前工作目录并为该命令构建一个抽象路径?怎么做?
谢谢
最佳答案
\
(反斜杠)是字符串常量中的转义字符,因此您的字符串最终会更改。在字符串常量中使用双 \
(如 \\
):
subprocess.Popen('rd /s /q .\\ProcessControlSimulator\\bin', shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
关于python - 为什么这个 dos 命令在 python 中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2102452/