Python FTP 활용하기

Python 2020. 8. 8. 09:27

Python에서는 간단한 방법으로 FTP에 접속해서 데이터를 다운로드 받고 혹은 업로드 할 수 있습니다.

 

바로,

ftplib 라는 라이브러리를 활용하는 방법 입니다.

 

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

 

Linux(Ubuntu) FTP server 구축하기

Ubuntu 18.04 버전을 중심으로 작성한 문서입니다. 처음으로 FTP 서버를 구축해보면서 몇가지 시행착오를 겪으며 최종 정리를 하겠습니다. 우선 vsftpd를 이용하면 간단하게 FTP 환경을 구성하고 설정

energycastle.tistory.com

Ubuntu에서 FTP 서버를 구축하는 법에 대해서는 제가 간단하게 정리해놓은 글이 있습니다.

해당 글을 보면서 차근차근 해보시면 어렵지 않게 FTP 서버를 만들고 Python으로 파일을 주고 받을 수 있을 것 입니다.

'Python' 카테고리의 다른 글

[Python] ffmpeg 커맨드창 실행 안되게 하는 방법  (0) 2020.10.26
Python 파일 실행 옵션 만들기  (0) 2020.08.18
Posted by EnergyCastle
,