Ich habe temporäre benannte Dateien mit der tempfile-Bibliotheken NamedTemporaryFile-Methode erstellt. ich ihnen geschrieben haben spült die Puffer, und ich habe sie nicht geschlossen (oder sonst könnten sie gehen weg)Unterprozessmodul: Verwenden der Aufrufmethode mit temporären Objekten
ich das subprocess
Modul zu verwenden bin versucht, einige Shell-Befehle diese generierten Dateien mit rufen.
subprocess.call('cat %s' % f.name)
schlägt immer fehl, dass die benannte temporäre Datei nicht existiert.
os.path.exists(f.name)
gibt immer wahr zurück. Ich kann den Befehl cat für die Datei direkt von der Shell ausführen.
Gibt es einen Grund, warum das Modul subprocess
nicht mit temporären Dateien funktioniert?
Gibt es eine Möglichkeit, damit es funktioniert?
Vielen Dank im Voraus.
Ich habe nicht Shell = True verwendet, also habe ich es geändert. Jetzt kommt der Fehler und sagt '/ bin/sh: Keine solche Datei oder Verzeichnis' – Matt
Die Dateien werden auch nicht gelöscht. Ich kann einen weiteren Tab in meinem Terminal öffnen und die Dateien in Ordnung bringen. Wie gesagt, os.path.exists sagt immer noch, dass die Dateien da sind. Es ist etwas mit dem Unterprozessmodul. – Matt