2017-12-19 24 views
-2

업로드 할 zip 파일이 있습니다. 나는 그것을 업로드하는 방법을 안다. "Rb"모드로 파일을 열어. 내가 업로드 한 zip 파일을 추출 할 때 오류가 발생하고 ZIP 아카이브의 파일이 사라지면 "Rb"모드 때문이라고 생각합니다. 업로드 된 파일의 압축을 풀 방법을 모르겠습니다. 여기 파이썬을 사용하여 FTP 업로드, rb 모드에서 문제 발생

코드입니다 : 귀하의 코드는 현재 ASCII 파일로 사용하기위한 것입니다 ftp.storlines()을 사용

filename="test.zip" 
ftp=ftplib.FTP("ftp.test.com") 
ftp.login('xxxx','xxxxx') 
ftp.cwd("public_html/xxx") 
myfile=open("filepath","rb") 
ftp.storlines('STOR ' + filename,myfile) 
ftp.quit() 
ftp.close() 
+1

안녕하세요. 도와 드리겠습니다. 문제가되는 코드를 여기에 붙여 넣을 수 있다면 큰 도움이됩니다. 추가해야하는 코드를 이해하는 데 도움이됩니다. https://stackoverflow.com/help/mcve –

+1

FTP 클라이언트/서버에게 바이너리 모드를 사용하도록 지시해야한다고 가정합니다. 나는'.stavinary()'라는 뜻 일까? 이것은 ftlib API 문서에서 논의됩니다. – jdv

답변

0

. 같은 ZIP 파일과 같은 바이너리 파일의 경우

, 당신은 대신 ftp.storbinary()를 사용해야합니다 : ASCII 모드는 ZIP 파일을 사용하는 경우

import ftplib 

filename = "test.zip"  

with open(filename, 'rb') as f_upload: 
    ftp = ftplib.FTP("ftp.test.com") 
    ftp.login('xxxx', 'xxxxx') 
    ftp.cwd("public_html/xxx") 
    ftp.storbinary('STOR ' + filename, f_upload) 
    ftp.quit() 
    ftp.close()  

, 당신이지고 있었다 무엇을 사용할 수없는 파일에 발생합니다.

+0

와우, 고마워. 잘 했어. 내게 큰 일을 했어. 고마워. –