2014-07-14 2 views
1

파이썬에 초보자이며 ftp 폴더에서 모든 CSV 파일을 다운로드하려고하는데이 오류가 발생합니다. 이 내 코드입니다 :ftplib.error_perm : 500 FTP에서 파일을 다운로드 할 수 없다.

ftp = ftplib.FTP('192.128.0.20', 'bingo', 'Password') 
ftp.cwd('/') 
filematch = '*.csv' 


for filename in ftp.nlst(filematch): 
    fhandle = open(filename,'wb') 
    ftp.retrbinary('RETR' + filename, fhandle.write) 
    fhandle.close() 

이 내 오류입니다 : ftp.retrbinary에서

Traceback (most recent call last): 
     File "./dirmon.py", line 65, in <module> 
     ftp.retrbinary('RETR' + filename, fhandle.write) 
     File "/usr/lib/python2.7/ftplib.py", line 406, in retrbinary 
     conn = self.transfercmd(cmd, rest) 
     File "/usr/lib/python2.7/ftplib.py", line 368, in transfercmd 
     return self.ntransfercmd(cmd, rest)[0] 
     File "/usr/lib/python2.7/ftplib.py", line 331, in ntransfercmd 
     resp = self.sendcmd(cmd) 
     File "/usr/lib/python2.7/ftplib.py", line 244, in sendcmd 
     return self.getresp() 
     File "/usr/lib/python2.7/ftplib.py", line 219, in getresp 
     raise error_perm, resp 
    ftplib.error_perm: 500 RETRRINGGODATA-2014-07-02.CSV not understood 

답변

3

없는 공간 : (나는 또한 with 문을 prfer) : 여전히

ftp = ftplib.FTP('192.128.0.20', 'bingo', 'Password') 
ftp.cwd('/') 
filematch = '*.csv' 
target_dir = '/home/toor/ringolist' 
import os 

for filename in ftp.nlst(filematch): 
    target_file_name = os.path.join(target_dir, os.path.basename(filename)) 
    with open(target_file_name ,'wb') as fhandle: 
     ftp.retrbinary('RETR %s' % filename, fhandle.write) 
+0

같은 오류 WBAR. – shriyaj

+0

그것은 동일하지 않을 수 있습니다 :) – WBAR

+0

나는 아직도 모르지만 같은 오류가 뭔가 코드에서 dodgy입니다 .. – shriyaj

관련 문제