python中的.bat文件执行没有给出所需的结果

时间:2016-06-11 09:02:58

标签: python operating-system subprocess

这是我的bat文件的内容

Proselint是一个exe文件

proselint C:\Users\Rahul\Desktop\proselint-0.5.3\proselint\proselint\something.md > ooo.txt

通过双击运行bat文件会产生以下输出

C:\Users\Rahul\Desktop\proselint-0.5.3\proselint\proselint\something.md:2:1: misc.mondegreens 'a girl with kaleidoscope eyes' is the preferred form.
C:\Users\Rahul\Desktop\proselint-0.5.3\proselint\proselint\something.md:1:38: misc.mondegreens 'laid him on the green' is the preferred form.

ooo.txt 中的正确输出 但是当我尝试从python脚本运行bat时,我得到以下输出

C:\ Users \ Rahul \ Desktop \ proselint-0.5.3 \ proselint \ proselint> proselint C:\ Users \ Rahul \ Desktop \ proselint-0.5.3 \ proselint \ proselint \ something.md 1> ooo.txt

这只是要执行的命令 使用的python代码是:

import os
os.system("C:/Users/Rahul/Desktop/proselint-0.5.3/proselint/proselint/command.bat")

请注意 :使用 SubProcess 也为ooo.txt提供了相同的输出

from subprocess import call
call("C:/Users/Rahul/Desktop/proselint-0.5.3/proselint/proselint/command.bat")

1 个答案:

答案 0 :(得分:0)

您的.bat文件必须在第一行包含@echo off,例如:

@echo off

command parameter > ooo.txt

如果您未指定@echooff,则每条将要执行的行都将打印到您的控制台。

我希望这可以解决您的问题。