我正在尝试使用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
这里发生了什么&gt;?
答案 0 :(得分:0)
我能够通过设置必须在发送二进制文件之前完成的配置来解决此问题。 这是配置:
ftp.voidcmd('TYPE I')
我希望这也有助于其他人。