首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ftplib问题不能放置文件

ftplib问题不能放置文件
EN

Stack Overflow用户
提问于 2016-04-05 04:06:49
回答 1查看 168关注 0票数 0

我正在尝试使用ftplib在服务器上放置一个文件,但我得到了一些错误,我不知道该怎么办。登录正常,但尝试上传文件时会输出错误。这是我使用的代码:

代码语言:javascript
复制
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")

错误日志为:

代码语言:javascript
复制
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

这是怎么回事>?

EN

回答 1

Stack Overflow用户

发布于 2016-04-05 06:31:01

我可以通过设置一个配置来解决这个问题,这个配置必须在发送二进制文件之前完成。配置如下:

代码语言:javascript
复制
ftp.voidcmd('TYPE I')

我希望这对其他人也有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36411927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档