Schickt pythons os.system jemals eine Ausnahme?

8

Könnte der geschätzte os.system von Python-Ruhm eine Ausnahme auslösen? Wenn ja, welche?

    
Claudiu 09.03.2011, 20:30
quelle

4 Antworten

9

Kurze Antwort: ja:

%Vor%

Lange Antwort: Sehen Sie sich Ссылка an, um zu sehen, wie Sie os.system vermeiden können.

    
phooji 09.03.2011, 20:36
quelle
4

Auf POSIX-Systemen scheint es ein direkter Durchgang zu system() zu sein (Auflistung aus Python 2.7.1's posixmodule.c):

%Vor%     
samplebias 09.03.2011 20:35
quelle
3

os.system gibt TypeError aus, wenn nicht genau ein String-Argument vorhanden ist. Wenn der fork aufgrund von Ressourcen- oder Ulimit-Einschränkungen fehlschlägt, wird -1 zurückgegeben. Wenn das Argument auf irgendeine Weise nicht gültig ist (wie ein nicht vorhandener Befehl), wird ein hoher Fehlercode zurückgegeben. Abgesehen von den oben genannten TypeError , wirft os.system keine Ausnahmen.

    
phihag 09.03.2011 20:42
quelle
1

Wenn Sie fragen, ob es eine Ausnahme auslöst, wenn der Prozess, den Sie aufrufen, mit einem Fehler endet, ist die Antwort nein, Sie können ein Programm mit os.system() aufrufen, es ist ein Fehler aufgetreten und Sie werden es nie erfahren .

Deshalb sollten Sie das subprocess Modul verwenden.

    
Ken Kinder 09.03.2011 21:24
quelle