我有一个程序,每当用户发出命令时,它就会与FTP服务器交互。以下是我的代码的基本结构:
from ftplib import FTP
ftp = FTP(host=host)
login_status = ftp.login(user=username, passwd=password)
while True:
command = input()
if command == "abc":
ftp.storbinary(textfile, textmessage1)
elif command == "def":
ftp.storbinary(textfile, textmessage2)
问题是,如果我在发出命令之间等待大约20秒(即,如果我离开程序大约20秒),并在20秒间隔后尝试发出命令,则会弹出此错误消息:ftplib.error_temp: 421 Timeout - try typing a little faster next time
这是在我的理解,ftp服务器有一个时间限制,并将踢你后不活动。我正在寻找一种方法来保持FTP服务器繁忙,并停止让它启动我的程序。基本上,任何防止错误消息再次显示的解决方案。你知道吗
提前谢谢!你知道吗
您必须:
或者在提示用户执行一些伪命令的同时保持连接的活动状态。通常通过发送
NOOP
命令来完成:尽管有些服务器忽略了
NOOP
命令。然后您必须发送一些真正执行某些操作的命令,比如PWD
。你知道吗通过阻塞
input
调用,您必须在另一个线程上发送命令,请参见Do something while user input not received
相关问题 更多 >
编程相关推荐