Seite 1 von 1

Sonderzeichen als Befehl in eine textdatei schreiben

Verfasst: Dienstag 22. Mai 2012, 17:55
von Cyberbroker
Hallo,

weiss nicht wie ichs recht formulieren soll, hoffe der Titel ist halbwegs verständlich.
Zu meinem Problem:

Ich möchte das heir:

Code: Alles auswählen

reaction_bat.write( 'java -Xmx500m -classpath "%RMG%"\bin\RMG.jar RMG condition.txt \n\
@echo off \n\
cmd /k %1 %2 %3 %4 %5 %6 %7 %8 %9')
reaction_bat.close()
haben, krieg aber in der endgültigen datei das hier:

Code: Alles auswählen

java -Xmx500m -classpath "%RMG%"in\RMG.jar RMG condition.txt 
@echo off 
cmd /k %1 %2 %3 %4 %5 %6 %7 %8 %9
das Problem ist als das \b

Was muss ich tun, bzw nach welchen stichworten muss ich suchen, um lösungen für dieses Problem zu erhalten.

Vielen dank vorraus

Gruß

Cyberbroker

Re: Sonderzeichen als Befehl in eine textdatei schreiben

Verfasst: Dienstag 22. Mai 2012, 18:03
von lunar
@Cyberbroker: Nutze entweder "raw strings", oder zwei Backslashes, um Sonderzeichen zu maskieren. Mehr steht in der Dokumentation.

Re: Sonderzeichen als Befehl in eine textdatei schreiben

Verfasst: Dienstag 22. Mai 2012, 18:04
von Hyperion
Du musst ein Raw-String-Literal verwenden:

Code: Alles auswählen

r"\bei diesem String gibt es keine Probleme..."
:-)

Edit: lunar war wohl schneller und ausführlicher...

... aber mir fiel noch etwas auf:
Ist `reaction_bat` ein file-Objekt? Wenn ja, dann solltest Du das ganze so abhandeln:

Code: Alles auswählen

with open(...) as handler:
    # do something with handler
    # `handler` wäre Dein `reaction_bat`
`handler` wird nach dem `with`-Block automatisch geschlossen :-)

Re: Sonderzeichen als Befehl in eine textdatei schreiben

Verfasst: Dienstag 22. Mai 2012, 18:05
von Cyberbroker
lunar hat geschrieben:...zwei Backslashes, um Sonderzeichen zu maskieren....Dokumentation.

DANKE! =) klappt einwandfrei

Gruß