2016-06-11 9 views
0

Dies ist der Inhalt meiner bat-Datei.bat Datei Ausführung in Python nicht die gewünschten Ergebnisse geben

Proselint ist eine exe-Datei

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

die bat-Datei durch einen Doppelklick Ausführen klicken sie erzeugt die folgende Ausgabe

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. 

Welches ist die richtige Ausgabe ooo.txt in ist Aber wenn ich versuche, den Schläger zu laufen Aus einem Python-Skript bekomme ich folgende Ausgabe

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

die nichts anderes als der Befehl, die der python-Code verwendet wurde, ausgeführt werden sollte:

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

Hinweis : Subprocess Mit gibt mir auch die gleiche Ausgabe an die ooo.txt

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

Können Sie das Problem mit einem anderen Programm als Proselint reproduzieren? Die Verwendung von "echo" oder eines anderen Programms in der Stapeldatei reproduziert das beobachtete Verhalten nicht. –

+0

Verwendung von Dir-Befehl funktioniert einwandfrei. Also funktionieren nur die in Windows eingebauten Befehle, wenn sie mit einem Python-Skript ausgeführt werden. –

+0

Woher hast du die Windows-Builds von Proselint? –

Antwort

0

Ihre .bat Datei @echo off in der ersten Zeile enthalten muss, wie:

@echo off 

command parameter > ooo.txt 

Wenn Sie nicht @echo-off jede Zeile angeben, die ausgeführt werden sollen wird auf der Konsole gedruckt werden.

Ich hoffe, das behebt Ihr Problem.

+0

gibt es die folgenden Fehler –

+0

Traceback (jüngste Aufforderung zuletzt): Datei "c: \ anaconda3 \ lib \ runpy.py", Linie 170, in _run_module_as_main "__main__", mod_spec) Datei „c: \ anaconda3 \ lib \ runpy.py“, Zeile 85, in _run_code exec (code, run_globals) Datei "C: \ Anaconda3 \ Scripts \ proselint.exe \ __ main__.py", Zeile 5, in Import: nicht importieren name‚proselint ' –

+0

Könnten Sie bitte Ihre Antwort mit dem tatsächlichen Code bearbeiten, der zum Aufrufen von proselint.exe verwendet wird, weil das Problem nicht wirklich der Anruf zu sein scheint. –