Dieser Code:
def server():
return os.system("ls")
Nur gibt 0
als Ergebnis, wenn das aktuelle Verzeichnis gültig ist. Es ist nicht entspricht:
def server():
return os.listdir(os.curdir)
oder
def server():
return glob.glob("*")
, die sowohl den Inhalt des aktuellen Verzeichnisses als list
Also keine Sicherheit/Sicherheitsfragen zurückkommen würde, da Befehl hartcodiert ist , aber dieser ls
Service ist nutzlos. Vielleicht meinen Sie:
def server():
return subprocess.check_output("ls").splitlines()
, die ein wenig mehr Sinn macht ... Aber ich sehe noch nicht den Punkt ein Kind Prozess des Aufruf langsamer (und in eine weniger tragbaren Art und Weise) auszuführen, was Python erreichen kann nativ.
warum möchten Sie das tun? es ist langsamer als python 'os.listdir()' oder 'glob.glob()' und weniger portabel. Können Sie erklären? –
Möchten Sie Ausgabe als HTML-Liste oder Tabelle formatiert? – tdelaney
Warum ist es langsamer? Erstellt 'os.listdir' nicht auch einen Child-Prozess? –