Python - Verzeichnisliste
Python kann verwendet werden, um die Liste der Inhalte aus einem Verzeichnis abzurufen. Wir können ein Programm erstellen, um den Inhalt des Verzeichnisses aufzulisten, das sich auf demselben Computer befindet, auf dem Python ausgeführt wird. Wir können uns auch beim Remote-System anmelden und den Inhalt aus dem Remote-Verzeichnis auflisten.
Lokales Verzeichnis auflisten
Im folgenden Beispiel verwenden wir die Methode listdir (), um den Inhalt des aktuellen Verzeichnisses abzurufen. Um auch den Inhaltstyp wie Datei oder Verzeichnis anzugeben, verwenden wir mehr Funktionen, um die Art des Inhalts zu bewerten.
for name in os.listdir('.'):
if os.path.isfile(name): print 'file: ', name
elif os.path.isdir(name): print 'dir: ', name
elif os.path.islink(name): print 'link: ', name
else: print 'unknown', name
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
file: abcl.htm
dir: allbooks
link: ulink
Bitte beachten Sie, dass der obige Inhalt spezifisch für das System ist, auf dem das Python-Programm ausgeführt wurde. Das Ergebnis hängt vom System und seinem Inhalt ab.
Remote-Verzeichnis auflisten
Wir können den Inhalt des Remote-Verzeichnisses auflisten, indem wir FTP verwenden, um auf das Remote-System zuzugreifen. Sobald die Verbindung hergestellt ist, können wir Befehle verwenden, die den Verzeichnisinhalt ähnlich wie die Liste der lokalen Verzeichnisse auflisten.
from ftplib import FTP
def main():
ftp = FTP('ftp.ibiblio.org')
ftp.login()
ftp.cwd('pub/academic/biology/') # change to some other subject
entries = ftp.nlst()
ftp.quit()
print(len(entries), "entries:")
for entry in sorted(entries):
print(entry)
if __name__ == '__main__':
main()
Wenn wir das obige Programm ausführen, erhalten wir die folgende Ausgabe:
(6, 'entries:')
INDEX
README
acedb
dna-mutations
ecology+evolution
molbio