Subprozess in Python: Dateiname zu lang

8

Ich versuche ein Shellskript über das Subprozessmodul in Python 2.6 aufzurufen.

%Vor%

Meine Dateinamen haben eine Länge zwischen 400 und 430 Zeichen. Beim Aufruf des Skripts bekomme ich den Fehler:

%Vor%

Ein Beispiel für die Zeilen in linksNetCdf.txt ist

%Vor%

Irgendwelche Ideen, wie Sie das Skript noch ausführen können?

    
Stophface 20.04.2015, 11:50
quelle

2 Antworten

12

subprocess.call kann den Befehl auf zwei Arten ausführen - entweder eine einzelne Zeichenfolge, wie Sie sie in eine Shell eingeben würden, oder eine Liste des ausführbaren Namens gefolgt von den Argumenten.

Sie möchten die erste, aber die zweite verwenden

%Vor%

Wenn Sie Ihre row in eine Liste mit einer einzelnen Zeichenfolge konvertieren, sagen Sie etwas wie "Führen Sie den Befehl namens echo these were supposed to be arguments ohne Argumente"

aus     
Eric 20.04.2015, 12:00
quelle
5

Sie müssen dem Unterprozess mitteilen, dass die Zeile als vollständiger Befehl ausgeführt werden soll, einschließlich der Argumente und nicht nur eines Programms.

Dies geschieht durch Übergabe von shell = True an

%Vor%     
deets 20.04.2015 12:41
quelle

Tags und Links