Python에서는 간단한 방법으로 FTP에 접속해서 데이터를 다운로드 받고 혹은 업로드 할 수 있습니다.
바로,
ftplib 라는 라이브러리를 활용하는 방법 입니다.
import ftplib ftp = ftplib.FTP() ftp.connect(host='ftp ip address', port=21) ftp.login(user='user_id', passwd='user_pw') # Download 받을 파일을 wb(write binary) mode 로 열어줍니다. download_file = open('file.dat', 'wb') # RETR은 FTP 명령어로 다운로드 받기 위한 명령어입니다. ftp.retrbinary('RETR /file_path', download_file) # Download가 완료되면 파일을 닫습니다. download_file.close() # Upload 받을 파일을 rb(read binary) mode 로 열어줍니다. upload_file = open('file.dat', 'rb') # STOR은 FTP 명령어로 업로드 하기 위한 명령어입니다. ftp.storbinary('STOR /file_path', upload_file) # Upload가 완료되면 파일을 닫습니다. upload_file.close() |
위와 같이 간단하게 FTP에 접속하여 파일을 다운로드 받거나 업로드 하는 기능을 구현할 수 있습니다!
FTP login 상황에서 id와 pw가 정확하지만 로그인이 안된다면,
FTP 서버 측에서 설정을 확인해 보시기 바랍니다.
ftp.retrbinary 혹은 ftp.storbinary가 550 fail error가 발생할 경우 FTP에 접속하는 계정이 경로를 접근하는데 문제가 있을 수 있습니다. FTP 서버에서 경로 접근 권한에 대한 부분을 확인해 주세요.
Python에서 FTP로 접속하고, 파일 다운로드 및 업로드하는 기능을 구현하는 건 매우 쉽습니다.
다소 어려운 문제는 사실 FTP 서버를 구축하는 일이라고 생각됩니다.
https://energycastle.tistory.com/4
Ubuntu에서 FTP 서버를 구축하는 법에 대해서는 제가 간단하게 정리해놓은 글이 있습니다.
해당 글을 보면서 차근차근 해보시면 어렵지 않게 FTP 서버를 만들고 Python으로 파일을 주고 받을 수 있을 것 입니다.
'Python' 카테고리의 다른 글
[Python] ffmpeg 커맨드창 실행 안되게 하는 방법 (0) | 2020.10.26 |
---|---|
Python 파일 실행 옵션 만들기 (0) | 2020.08.18 |