파이썬 ftp 예제

파이썬 ftp 예제

파이썬과 FTP를 사용하는 방법에 대한 자세한 내용은 공식 ftplib 문서 또는 RFC 959를 참조하십시오. 계속 진행하면 ftplib가 이미 Python에 설치 되어 있는 내장 라이브러리라는 것을 알게되어 기쁩니다. 그것을 가져오려면 다음 명령을 사용하십시오 : 파이썬 FTP 프로그래밍 자습서는 ftplib 라이브러리를 사용하여 파이썬에서 FTP로 작업하는 방법을 보여줍니다. 우리는 FTP 서버에 연결, 목록 디렉토리, 다운로드 및 파일을 업로드 할 것입니다. FTP는 파일 전송 프로토콜을 의미합니다. 클라이언트-서버 모델 아키텍처를 기반으로 하며 널리 사용됩니다. 그것은 두 개의 채널을 가지고; 명령 채널 및 데이터 채널입니다. 명령 채널은 통신을 제어하는 데 사용되며 데이터 채널은 파일의 실제 전송에 사용됩니다. FTP를 사용하여 수행할 수 있는 다양한 일들이 있습니다.

우리는 파이썬을 사용하여 수행하는 방법에 대한 세부 정보와 함께, 이후 섹션에서 논의 할 것이다. 파이썬 교육의 경우, 우리의 최고 권장 사항은 DataCamp입니다. 이 자습서에서는 파이썬을 사용하여 TCP/IP 연결을 통해 서버에서 파일을 보내고 받는 방법을 살펴봅니다. 이 예제는 ftp.debian.org 서버에서 텍스트 파일을 다운로드합니다. 이 예제에서는 PWD 명령을 직접 보내고 pwd() 메서드를 사용하여 현재 작업 디렉토리를 검색합니다. 첫 번째 예제에서는 로그인하고 로그인 디렉터리 디렉터리 목록을 받는 방법을 보여 주며, 로그인 디렉터리 목록을 가져옵니다. dir 함수는 서버 응답의 각 줄에 대해 한 번 호출되는 콜백 함수를 수행합니다. ftplib 모듈에서 제공하는 기본 콜백은 sys.stdout에 대한 응답을 단순히 인쇄합니다.

파이썬 소스 배포의 파일 도구/스크립트/ftpmirror.py 파일은 ftplib 모듈을 사용하여 FTP 사이트 또는 그 일부를 미러링할 수 있는 스크립트입니다. 이 모듈을 적용하는 확장 된 예로 사용할 수 있습니다. 이 모듈은 클래스 FTP 및 몇 가지 관련 항목을 정의합니다. FTP 클래스는 FTP 프로토콜의 클라이언트 측을 구현합니다. 다른 FTP 서버를 미러링하는 등 다양한 자동화된 FTP 작업을 수행하는 Python 프로그램을 작성하는 데 사용할 수 있습니다. 또한 FTP를 사용하는 URL을 처리하기 위해 모듈 urllib에 사용됩니다. FTP(파일 전송 프로토콜)에 대한 자세한 내용은 인터넷 RFC 959를 참조하십시오. with 명령은 Python 3 코드에 대한 서버에 대한 연결을 자동으로 닫습니다. 파이썬 ftplib는 FTP 프로토콜의 클라이언트 측을 구현하는 모듈입니다. FTP 클라이언트 클래스와 일부 도우미 함수가 포함되어 있습니다. 이 예제에서는 cmd() 메서드를 사용하여 데비안 폴더로 변경합니다.

이제 디렉터리에서 파일을 얻거나 디렉토리에 파일을 작성하는 방법에 대한 몇 가지 기본 예제에 대해 살펴보겠습니다. 코드에 대한 설명은 각 코드 줄과 함께 주석에 제공됩니다: 파일을 다운로드하거나 업로드한 후 해야 할 한 가지 더 있습니다 – 해당 파일을 닫고 열어 놓은 FTP 연결을 닫습니다. 위의 예제에서는 파이썬 3과 달리 파이썬 2에는 FTP 클래스로 구현 된 컨텍스트 관리자가 없습니다. 따라서 Python 2 코드는 연결 개체를 다룰 때 약간 다른 접근 방식이 필요합니다. 아래 예제에서는 ftp 서버에 익명 로그인을 사용 하 고 현재 디렉터리내용을 나열 합니다. 파일 및 디렉터리 이름을 통해 처리하고 목록으로 저장합니다. 그런 다음 인쇄합니다. Datacamp는 모든 수준의 프로그래머가 혜택을 누릴 수있는 고급 파이썬 교육초보자를 보유하고 있습니다. 일을 더 쉽고 추상적으로 만들기 위해 FTP로 쉽게 작업 할 수있는 다양한 기능을 제공하는 Python의 ftplib 라이브러리를 사용할 것입니다. 우리는 업로드 하고 서버에서 파일을 다운로드하기위한 구현뿐만 아니라 “ftplib”우리가 할 수있는 다른 멋진 것들을 볼 수 있습니다. 이 예제는 ftp.debian.org 호스트에 연결하고 초기 방문 디렉터리의 디렉터리 목록을 검색합니다.

위의 예에서 `rb`와 `wb`는 각각 “바이너리 읽기”와 “쓰기 바이너리”를 의미합니다.