【问题标题】:Python ftplib pwd() returns an empty stringPython ftplib pwd() 返回一个空字符串
【发布时间】:2021-10-21 03:23:17
【问题描述】:

我正在编写一个以将文件从 PC 传输到目标设备为中心的 Python 程序。 到目前为止,我已经将 ftplib 包用于程序中的所有其他功能。 我遇到了到目前为止在任何其他设备中都没有发生的问题,ftp.pwd() 只返回一个空字符串,但是当我使用ftp.voidcmd("PWD") - 这与ftp.pwd() 相同时,我得到了我的工作目录。

这是与问题相关的 sn-p,请注意,我对其他一些设备也做过同样的事情,但从未发生过:

# CONNECT TO TARGET
ftp = FTP (host)
ftp.login(username , password)

ftp.cwd("/DirName")
# DOESNT WORK
res = ftp.pwd()
print(res)
# WORKS
res = ftp.voidcmd("PWD")
print(res)

【问题讨论】:

    标签: python ftp ftplib


    【解决方案1】:

    ftplib 对PWD 命令返回的响应码有严格要求。只有当代码是RFC 959 要求的257 时,ftplib 才会认为响应有效并返回路径。

    一些不起眼的 FTP 服务器不使用 257 代码,但其他一些 2xx 代码。许多 FTP 客户端都具有容错性,并将此类响应视为有效响应。 ftplib 不是。您将不得不继续使用FTP.voidcmd("PWD") 的解决方法。

    【讨论】:

      猜你喜欢
      • 2016-04-07
      • 2019-10-29
      • 2011-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多