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

当运行上面的程序时,得到以下输出 −

(6, 'entries:')
INDEX
README
acedb
dna-mutations
ecology+evolution
molbio