Was ist der Unterschied zwischen allen os.popen () Methoden?

7

Ich habe mir die Python-Dokumentation angesehen und festgestellt, dass es 4 gibt -5 verschiedene Versionen von popen (), z os.popen (), os.popen2 () usw.

Abgesehen von der Tatsache, dass einige stderr enthalten, während andere dies nicht tun, was sind die Unterschiede zwischen ihnen und wann würden Sie sie verwenden? Die Dokumentation hat das nicht wirklich gut erklärt.

    
crystalattice 09.11.2008, 08:50
quelle

3 Antworten

14

Ich würde empfehlen, das subprocess -Modul zu verwenden, das alle Funktionen hat, die diese Funktionen haben und mehr.

    
J S 09.11.2008 10:44
quelle
13

Jason hat es richtig gemacht. Um es auf eine Weise zusammenzufassen, die einfacher zu sehen ist:

  • os.popen () - & gt; stdout
  • os.popen2 () - & gt; (stdin, stdout)
  • os.popen3 () - & gt; (stdin, stdout, stderr)
  • os.popen4 () - & gt; (stdin, stdout_and_stderr)
Ned Batchelder 09.11.2008 13:06
quelle
9

popen2 erfasst keinen Standardfehler, popen3 erfasst den Standardfehler und gibt ein eindeutiges Dateihandle dafür. Schließlich erfasst popen4 den Standardfehler, fügt ihn jedoch in das gleiche Dateiobjekt wie die Standardausgabe ein.

    
Jason Coco 09.11.2008 08:53
quelle

Tags und Links