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