Python-Befehlsausgabe

Mögliche Duplikat:
Running Shell-Befehl aus Python und Erfassung der Ausgabe

Ich möchte die Ausgabe eines Befehls in eine Variable erfassen, also kann diese Variable wieder verwendet werden. Ich muss dieses Skript so ändern, dass es das tut:

#!/usr/bin/python import os command = raw_input("Enter command: ") os.system(command) 

Wenn ich "ls" eingebe, wenn ich dieses Skript laufe, bekomme ich diese Ausgabe:

 Documents Downloads Music Pictures Public Templates Videos 

Ich möchte diese Zeichenfolge (die Ausgabe des Befehls ls) in eine Variable einfangen, damit ich sie später wieder verwenden kann. Wie mache ich das?

  • Cx-freeze Fehler beim Aufbau
  • Wie man eine HTML-Datei mit Tabelle mit Python analysiert
  • Python 2-String-Ausdruck nicht erkannt mit Python 3
  • Effiziente Berechnung der Fibonacci Serie
  • Wie kann ich die Single (a, 'rows') von MATLAB in Python verwenden?
  • VtkPythonAlgorithm Steuerung der Pipeline-Ausführung
  • MySQLdb-Fehler beim Ausführen von Python-Server auf MacOSX10.6
  • Warum funktioniert Python easy_install nicht auf meinem Mac?
  • 3 Solutions collect form web for “Python-Befehlsausgabe”

     import subprocess command = raw_input("Enter command: ") p = subprocess.Popen(command, stdout=subprocess.PIPE) output, error = p.communicate() 

    Die Ausgabe des Befehls kann mit dem check_output erfasst werden, insbesondere die Funktion check_output .

     output = subprocess.check_output("ls") 

    Siehe auch die Dokumentation für subprocess.Popen für die Argumentliste, die check_output nimmt.

    So habe ich es in der Vergangenheit getan.

     >>> import popen2 __main__:1: DeprecationWarning: The popen2 module is deprecated. Use the subprocess module. >>> exec_cmd = popen2.popen4("echo shell test") >>> output = exec_cmd[0].read() >>> output 'shell test\n' 
    Python ist die beste Programmiersprache der Welt.