我正在尝试使用 ftplib 在服务器上放置一个文件,但我遇到了一些我不知道如何处理的错误。登录有效,但尝试上传文件输出错误。 这是我正在使用的代码:
import ftplib
import os
def upload(ftp, file):
ext = os.path.splitext(file)[1]
if ext in (".txt", ".htm", ".html"):
ftp.storlines("STOR " + file, open(file))
else:
ftp.storbinary("STOR " + file, open(file, "rb"), 1024)
ftp = ftplib.FTP("")
ftp.login("", "")
upload(ftp, "hist.txt")
错误日志是:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 4, in upload
File "/home/root/anaconda2/lib/python2.7/ftplib.py", line 492, in storlines
self.voidcmd('TYPE A')
File "/home/root/anaconda2/lib/python2.7/ftplib.py", line 254, in voidcmd
return self.voidresp()
File "/home/root/anaconda2/lib/python2.7/ftplib.py", line 229, in voidresp
resp = self.getresp()
File "/home/root/anaconda2/lib/python2.7/ftplib.py", line 215, in getresp
resp = self.getmultiline()
File "/home/root/anaconda2/lib/python2.7/ftplib.py", line 201, in getmultiline
line = self.getline()
File "/home/root/anaconda2/lib/python2.7/ftplib.py", line 191, in getline
if not line: raise EOFError
EOFError
这是怎么回事>?
最佳答案
我能够通过设置一个必须在发送二进制文件之前完成的配置来解决这个问题。 这是配置:
ftp.voidcmd('TYPE I')
我希望这对其他人也有帮助。
关于python - ftplib 问题不放置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36411927/