打开一个在python中打开文本文件的批处理文件

时间:2013-04-25 10:48:13

标签: command-line python-3.x

我正在编写一个可以执行批处理文件的脚本,该文件需要先在同一个文件夹中打开一个文件。我目前的代码是:

from subprocess import Popen
p = Popen("Mad8dl.bat <RUNTHISTO.txt>", cwd=r"C:\...\test")
stdout, stderr = p.communicate()

其中...只是文件夹的路径。但是,每次运行它时都会出现语法错误:

The syntax of the command is incorrect

非常感谢有关语法的任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,您应该删除&lt;和&gt;代码中的尖括号;只需将文件名(不带任何括号)传递给批处理文件。 (除非你的文件名确实包含&lt;和&gt;字符,在这种情况下我真的想知道你是如何管理它的,因为在Windows中的文件名中禁止使用这些字符。)

其次,您的代码应如下所示:

from subprocess import Popen, PIPE
p = Popen(["Mad8dl.bat", "RUNTHISTOO.txt"], cwd=r"C:\...\test", stdout=PIPE, stderr=PIPE)
stdout, stderr = p.communicate()

请注意包含调用组件的列表,而不是单个字符串。另请注意,如果您希望稍后使用communication(),则需要在Popen()调用中指定stdout=PIPEstderr=PIPE