2016-04-04 7 views
0

ftplibを使用してサーバー上にファイルを配置しようとしましたが、何らかのエラーが発生しました。ログインは動作しますが、ファイルをアップロードするtryignはエラーを出力します。 これは私が使用していますコードです: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 

ここで何が起こっていますか>?

答えて

0

バイナリファイルを送信する前に行う必要のある設定を行うことで、この問題を解決できました。 これは設定です:

ftp.voidcmd('TYPE I') 

私は、これはあまりにも他の誰かに役立ちます願っています。

関連する問題