当前位置: 代码迷 >> python >> 获取 FTP 目录中的所有文件名 [Python]
  详细解决方案

获取 FTP 目录中的所有文件名 [Python]

热度:65   发布时间:2023-07-14 08:59:23.0

今天我遇到了一个大问题,因为我对 Python 相当陌生,所以我真的需要寻求帮助。

我已成功连接到我的 FTP 并正确登录。

ftp = ftplib.FTP('ftp.lala.com', 'username', 'pass')

第二步,我进入我想要的目录:

ftp.cwd("dirName")

但是后来我卡住了..我现在需要以字符串/数组/列表/..格式获取所有文件名才能使用所有这些名称。 我试过 OS、glob、.. 但这似乎没有任何作用。 请问有什么想法吗? 我需要获取我想要的目录中的每个文件名以及想要的目录中的任何目录/文件。

我不知何故需要改变这一点

for fileName in glob.glob("*.*"):
    self.out(fileName)

转到路径 ftp.lala.com/myDir/ 然后获取所有文件名(如果 myDir 中有文件夹)

欢迎任何建议或想法! 谢谢 Yenthe

怎么样:

contents = ftp.retrlines('LIST')  # List CWD contents securely.

或者:

try:
    files = ftp.nlst()
except ftplib.error_perm, resp:
    if str(resp) == "550 No files found":
        print("No files in this directory.")
else:
    raise

contents现在是您可以调用的该目录中的项目列表。

我使用此代码获取所有路径/文件:

import ftplib

server= ftplib.FTP_TLS('YOUR FTP ADRESS','USER','PASSWORD')
print("CONNECTED TO FTP")

files = server.nlst('your FTP folder path')
print(files)
from ftplib import FTP

ftp = FTP("hostname")
ftp.login("username", "password")
ftp.cwd("foldername")
files = ftp.nlst()
print(files)