📜  如何使用Python列出 FTP 服务器中的所有文件和目录?

📅  最后修改于: 2022-05-13 01:54:24.980000             🧑  作者: Mango

如何使用Python列出 FTP 服务器中的所有文件和目录?

FTP(文件传输协议)是计算机在跨计算机网络传输文件时遵循的一组规则。它是基于 TCP/IP 的协议。 FTP 允许客户端共享文件。 FTP 的安全性较低,因为文件以纯文本形式共享,没有在网络上进行任何加密。

可以使用Python使用其内置的 ftplib 模块从 FTP 服务器检索文件和目录列表。 ftplib 是一个预先安装的Python包,它使我们能够实现客户端 FTP 协议,为了使用它,我们只需像任何其他模块一样导入它。提取列表或目录的基本方法保持不变。

方法

  • 导入模块
  • 通过默认端口连接到主机

句法:

  • 使用 login()函数登录服务器

句法:

  • 相应地检索文件和目录。
  • 关闭连接

方法 1 :使用 retrlines()

可以使用 retrlines()函数列出文件和目录。它返回文件名、修改时间、文件大小、所有者、文件类型、权限和模式。

句法:

在此函数中传递“LIST”可检索文件和有关这些文件的信息。

程序:

Python3
from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.retrlines('LIST')
  
ftp.quit()


Python3
from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.retrlines('LIST *README*')
  
ftp.quit()


Python3
from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.dir()
  
ftp.quit()


Python3
from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.nlst()
  
ftp.quit()


输出:

图:2

此函数也可以是用户搜索文件或目录。可以在星号(*) 之间输入搜索查询。

句法:

程序:列出以“README”开头的文件名。

蟒蛇3

from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.retrlines('LIST *README*')
  
ftp.quit()

输出:

图:3

方法 2:使用 dir()

文件和目录可以用 dir() 列出。它返回文件名、修改时间、文件大小、所有者、文件类型、权限和模式。

句法:

ftp.dir()

程序:

蟒蛇3

from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.dir()
  
ftp.quit()

输出:

图:4

方法 3:使用 nlst()

文件和目录可以用 nlst() 列出。它返回列表类型的文件和目录的名称。

句法:

ftp.nlst()

程序:

蟒蛇3

from ftplib import FTP
  
ftp = FTP('ftp.us.debian.org')
  
ftp.login()
  
# changing directory
ftp.cwd('debian')
  
ftp.nlst()
  
ftp.quit()

输出:

图:5