Parsen der Kommandozeilen-Argumente in python mit Leerzeichen
Bin ich aufrufen des script von ant . Ich bin immer als eine einzelne Zeichenfolge aus der Anrufer-aber python ist seltsam behandeln Sie es wie zwei einzelne strings.Ich habe Skript liest einen Dateinamen mit Pfad in windows. Die Ordner-Struktur kann oder kann nicht mit Leerzeichen im zwischen
Hier ist ein Beispiel
test.py D:/test/File Name
Ich weiß, das getan werden kann mithilfe von optparse. Gibt es irgendeine Möglichkeit, dass ich Lesen Sie die param als einziges argument
wie möchte ich, um es in sys.argv[index] (als einzelne Zeichenfolge). Ich habe müde voranstellen " und ", aber ohne Erfolg.
InformationsquelleAutor der Frage Raj | 2013-12-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Übergeben Sie den Namen des Ordners, eingewickelt in Anführungszeichen:
sys.argv[1]
enthält der Pfad Leerzeichen enthalten.Wenn Sie aus irgendeinem Grund nicht zitieren, den Namen des Ordners, den Sie verwenden müssen, die
ctypes
Modul und verwenden Sie die Win32-API istGetCommandLine
Funktion. Hier ist ein functional example.InformationsquelleAutor der Antwort Blender
Des übereinkommens für die übergabe von Räumen, die als Argumente ist durch die Flucht-Räume.
Diese Weise haben Sie Zugriff zu "D:/test/File Name" in Ihre python-Skript.
InformationsquelleAutor der Antwort Ruslan Osipov
Laut MS:
https://msdn.microsoft.com/en-us/library/windows/desktop/17w5ykft(v=vs. 85).aspx
Backslashes buchstäblich interpretiert werden, es sei denn, Sie unmittelbar vor einem doppelten Anführungszeichen.
Ich bin wondwring wenn Python auf Windows verwendet diese Methode:
https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391(v=vs. 85).aspx
Parsen der Kommandozeile zu erstellen, sys.argv.
In der Theorie sollte es tun.
InformationsquelleAutor der Antwort rressi