[Python-de] Re: os.system, backslash, commandline problem (Rene Liebscher)

nhytro-python at web.de nhytro-python at web.de
Tue Oct 30 14:28:03 EST 2001



> Hallo,
> 
> Ich versuche eine kleine Frontend für eine dos commandline Applikation zu schreiben. Wenn ich os.system verwende um die Commandline Applikation aufzurufen, die "Switches" die ich übergebe werden erkann als Dateien. Dazu habe ich bemerkt das Pfade werden auch nicht richtig behandelt.
> 
> #### code snippet, callback FunKtion für tkinter Button
> 
> def go_app():
> ........textfile = inputfile.get() # inputfile is a tkintet entry widget
> ........textfile = string.replace(textfile, '/', '\\')
> ........editor = editorpath.get()# editorpath is a tkinter entry widget
> ........editor = string.replace(editor, '/', '\\')
> ........editor = editor + " -test" # switch test
> ........os.system(r"%s %s" % (editor, textfile))

Wozu das "r" ? Deine Zeichenkette enthält doch gar keine "\", für die
ein "raw string" nützlich wäre.

> ############## end code
> 
> ich habe diese File ausprobiert, es hat "gefährliche" Zeichen:
> c:\the\boy.txt

Was soll daran gefährlich sein ?

python erkennt "\t" und "\b" als escape Sequenzen (TAB und BELL), also gefährlich
 
> das commandline Applikation wird korrekt aufgerufen aber die Schalter werden nicht erkannt. Die pfad für die wird auch nicht richtig aufgelöst:
> 
>  " theoy.txt "
> 
> Gibt es eine sicherer Methode um commandline Applikation mit Schalter auszuführen mit os.sytem? (z.B "c:\foo.exe -test")

Ich verstehe das Problem nicht ganz... trotzdem: unter Windows ist
es ratsam START.EXE für das Aufrufen von Programmen zu benutzen.
Mit den Win32 Tools von Mark Hammond kann man das noch eleganter
direkt über das win32-API erledigen. Näheres dazu findest Du bei
www.ActiveState.com.

-- 
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Consulting & Company:                           http://www.egenix.com/
Python Software:                        http://www.lemburg.com/python/


Okay, aber ich möchte die Code für Linux wiederverwenden


________________________________________________________________
Lotto online tippen! Egal zu welcher Zeit, egal von welchem Ort.
Mit dem WEB.DE Lottoservice. http://tippen2.web.de/?x=13





More information about the Python-de mailing list