Python Network Programming 简明教程
Python - Directory Listing
可以使用 Python 获取目录中的内容列表。我们可以制作一个程序,用于列出与运行 Python 的计算机位于同一台计算机上的目录的内容。我们也可以登录远程系统,列出远程目录的内容。
Listing Local Directory
在以下示例中,我们使用 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 程序的系统。结果将根据系统及其内容而有所不同。
Listing Remote Directory
我们可以使用 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