2016-12-12 3 views
0

Ich möchte den dir OS-Befehl auf Python ausführen, und speichern Sie die Ausgabe als eine Variable, so etwas wie output = os.system('dir') print(output)
Wie würde ich gehen, dies zu tun? Ich habe versucht, subprocess, aber ich bekomme immer einen Windows-Baum-Dienstprogramm FehlerSpeichern Sie die Antwort als Variable?

import subprocess 

batcmd="dir" 
result = subprocess.check_output(batcmd, shell=True) 

Error

+5

Gibt es einen besonderen Grund, warum Sie die Ausgabe des 'dir' Befehls benötigen? Das 'os' Modul hat' listdir' und 'scandir', die Ihnen die Dateien im aktuellen oder angegebenen Pfad geben. – Dalvenjia

+0

Dalvenjias Kommentar ist genau richtig: Sie sollten Pythons bereitgestellte Module verwenden, um den Baum zu erkunden und zu gehen. Aber ich bin fasziniert von dem Versagen von 'dir'. Können Sie 'dir' in einer normalen Eingabeaufforderung außerhalb von Python erfolgreich ausführen? – skrrgwasme

+0

OP: Gehen Sie zu @Dalvenjia Vorschlag. https://docs.python.org/3/library/os.html#os.listdir – roymustang86

Antwort

1

Versuchen Sie, diese mit popen Methode:

import os 
result = os.popen('dir').read() 

Dies ist der einfachste Weg, um diese Daten. Ich nahm an, dass Sie String-Format-Daten statt Wrap-Objekt abrufen möchten.

Verwandte Themen