gpt4 book ai didi

python - 如何使用 RNFT 和 RNTO 命令重命名目录? (Python FTP)

转载 作者:行者123 更新时间:2023-12-01 02:53:34 26 4
gpt4 key购买 nike

我正在尝试用Python编写一个FTP客户端软件。我尝试实现一种重命名目录的方法:

 ftp = FTP()
ftp.connect('host')
ftp.login('usrname', 'pass')
ftp.retrlines('RNFR Builds')
ftp.retrlines('RNTO My_Builds')

但是我不断收到此错误:

Exception in Tkinter callback
Traceback (most recent call last):
File "/usr/lib/python3.5/tkinter/__init__.py", line 1553, in __call__
return self.func(*args)
File "Source.py", line 449, in set_name_from_rename
self.ftpController.ftp.retrlines('RNFR Builds')
File "/usr/lib/python3.5/ftplib.py", line 467, in retrlines
with self.transfercmd(cmd) as conn, \
File "/usr/lib/python3.5/ftplib.py", line 398, in transfercmd
return self.ntransfercmd(cmd, rest)[0]
File "/usr/lib/python3.5/ftplib.py", line 374, in ntransfercmd
raise error_reply(resp)
ftplib.error_reply: 350 Directory exists, ready for destination name.

我确定我有权重命名该目录。有人可以帮忙吗?
感谢您提前提供的帮助。

最佳答案

请勿调用retrlines ,使用 sendcmd 。决赛RNTO ,您甚至可以使用 voidcmd 更严格地验证操作(需要 2xx 响应)。

ftp.sendcmd('RNFR Builds')
ftp.voidcmd('RNTO My_Builds')
<小时/>

retrlines 用于使用数据连接的命令。 IE。通常用于目录列表,例如 LIST , NLST , MLSD 。而RNFRRNTO是仅返回状态的简单 FTP 命令。

关于python - 如何使用 RNFT 和 RNTO 命令重命名目录? (Python FTP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44485327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com