Ich habe ein Bash-Skript geschrieben, das genau das tut, was ich will, aber den folgenden Fehler rausschmeiße:
close failed in file object destructor: sys.excepthook is missing lost sys.stderr
Ich bin völlig ratlos, wie ich das angehen soll. Hier ist das Skript:
%Vor%Ich bin ziemlich neu bei Shell-Skripten und sehr neu bei Python. Ich wäre für jede Hilfe dankbar.
Sie müssen zwei Schritte ausführen:
Schritt 1:
Suchen Sie in Ihrem csvcut -Skript nach allen Orten, an denen sys.stdout.write()
aufgerufen wird. Stellen Sie sicher, dass sys.stdout.flush()
nach jedem write()
aufgerufen wird.
Schritt 2:
Wenn Schritt 1 abgeschlossen ist, sollten Sie IOError
im Python-Skript erfassen können. Im Folgenden finden Sie ein Beispiel für die Behandlung von Rohrbrüchen:
Ich hoffe, es hilft!
Ich nehme an, dass das Skript csvcut
Python ansonsten funktionstüchtig ist, aber beim Versuch, Dateien zu schließen und zu beenden, einen Fehler verursacht.
Wenn, wie Sie sagen, das Skript anders arbeitet und angenommen wird, dass der Fehler 'csvcut' Ausgaben an stderr ausgibt, wäre das Umleiten zu / dev / null ein temporärer Fix.
%Vor%Natürlich werden auch andere Fehlermeldungen in Ihrem Heredoc dorthin umgeleitet.