ich ein einfaches Python-Skript haben etwa so:Vorbei an einer mehrzeiligen Zeichenfolge als Argument an ein Skript in Windows
import sys
lines = sys.argv[1]
for line in lines.splitlines():
print line
will ich es von der Kommandozeile aufrufen (oder eine .bat-Datei), aber Das erste Argument kann (und wird wahrscheinlich) eine Zeichenfolge mit mehreren Zeilen sein. Wie macht man das?
Natürlich funktioniert dies:
import sys
lines = """This is a string
It has multiple lines
there are three total"""
for line in lines.splitlines():
print line
Aber ich muss in der Lage sein, ein Argument Zeile-für-Zeile zu verarbeiten.
EDIT: Dies ist wahrscheinlich eher ein Windows-Befehlszeilenproblem als ein Python-Problem.
EDIT 2: Danke für all die guten Vorschläge. Es sieht nicht so aus als wäre es möglich. Ich kann keine andere Shell verwenden, weil ich tatsächlich versuche, das Skript von einem anderen Programm aufzurufen, das anscheinend die Windows-Befehlszeile hinter den Kulissen verwendet.
Ich verstehe nicht - hat was Sie jetzt nicht arbeiten? –
Sie sollten durch "\ n" teilen und entfernen Sie das "\ r" vorher für bessere Plattformkompatibilität. Gibt 'bash' in seinen Argumenten Carraige zurück? (Nicht sicher). –
Sie sollten das String-Modul überhaupt nicht verwenden. Diese Zeile sollte "line = multiline.splitlines()" lesen –