Ich habe diesen Befehl ein:Python subprocess.Popen in anderem Verzeichnis
grep = subprocess.Popen('head -20'.split(), stdin=subprocess.PIPE, stdout=subprocess.PIPE)
ls = subprocess.Popen('ls'.split(), stdout=grep.stdin)
output_lines = grep.communicate()[0]
Wie kann ich diesen Befehl in anderem Verzeichnis laufen? Zum Beispiel in/home /?
ohne Bezug: Sie könnten 'os.listdir ('/ home') [: 20]' anstelle von 'cd/home; ls | Kopf -20'. Wenn das Verzeichnis möglicherweise eine große Anzahl von Einträgen enthält; Sie könnten stattdessen 'itertools.islice (os.scandir ('/ home'), 20)' verwenden (es sollte funktionieren, selbst wenn es Millionen von Dateien im Verzeichnis gibt). – jfs