Учебники

Python — Список каталогов

Python может быть использован для получения списка содержимого из каталога. Мы можем сделать программу для отображения содержимого каталога, который находится на той же машине, где работает python. Мы также можем войти в удаленную систему и перечислить содержимое из удаленного каталога.

Список локальных каталогов

В приведенном ниже примере мы используем метод listdir () для получения содержимого текущего каталога. Чтобы также указать тип содержимого, например, файл или каталог, мы используем больше функций для оценки характера содержимого.

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

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод:

file: abcl.htm
dir: allbooks
link: ulink

Обратите внимание, что приведенное выше содержание относится к системе, в которой была запущена программа на python. Результат будет варьироваться в зависимости от системы и ее содержимого.

Перечисление удаленного каталога

Мы можем составить список содержимого удаленного каталога, используя ftp для доступа к удаленной системе. Как только соединение установлено, мы можем использовать команды, которые будут перечислять содержимое каталога таким же образом, как список локальных каталогов.

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()

Когда мы запускаем вышеуказанную программу, мы получаем следующий вывод: