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