Die Suche ergab 4 Treffer

von handle
Donnerstag 11. August 2011, 19:54
Forum: Allgemeine Fragen
Thema: Subprocess.Popen, eine Win32 Anwendung und "Argument"
Antworten: 7
Zugriffe: 1825

Re: Subprocess.Popen, eine Win32 Anwendung und "Argument"

BlackJack hat geschrieben:Die Backslashes sind da um die " for der Shell zu schützen.
Der Mechanismus war mir nicht bekannt, aber trotzdem oder deswegen ging es leider nicht. Ich weiß nicht, was die Ursache ist, aber was ich erreichen wollte geht ja jetzt. Also Danke für deine Hilfe!
von handle
Donnerstag 11. August 2011, 13:48
Forum: Allgemeine Fragen
Thema: Subprocess.Popen, eine Win32 Anwendung und "Argument"
Antworten: 7
Zugriffe: 1825

Re: Subprocess.Popen, eine Win32 Anwendung und "Argument"

So funktioniert es:

Code: Alles auswählen

retcode = subprocess.Popen( 'my.exe "file.name"', shell=True ).communicate()[0]
von handle
Donnerstag 11. August 2011, 13:18
Forum: Allgemeine Fragen
Thema: Subprocess.Popen, eine Win32 Anwendung und "Argument"
Antworten: 7
Zugriffe: 1825

Re: Subprocess.Popen, eine Win32 Anwendung und "Argument"

Hallo und Danke - ja, wenn es nicht funktioniert, muss ich ja probieren.
Als Liste scheint es besser zu funktionieren, aber die Ausgabe mit

params = ["my.exe", '"file.name"']
print( subprocess.list2cmdline( params ) )
Führt zu
my.exe \"file.name\"
und damit zu besagtem Dialogfenster der ...
von handle
Donnerstag 11. August 2011, 12:54
Forum: Allgemeine Fragen
Thema: Subprocess.Popen, eine Win32 Anwendung und "Argument"
Antworten: 7
Zugriffe: 1825

Subprocess.Popen, eine Win32 Anwendung und "Argument"

Subprocess.Popen, eine Win32 Anwendung und ein Argument in Anführungszeichen unter Windows mit Python 3.2.

try:
retcode = subprocess.Popen( [ r"my.exe \"{}\"".format( "filename.ext" ) ], shell=True ).communicate()[0]
print( retcode )
except WindowsError as e:
print( e )

verursacht den Fehler ...