Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python의 FTP 프로토콜 클라이언트

<시간/>

모두 중요 ftplib 모듈의 FTP 클래스는 FTP 프로토콜의 클라이언트 측을 구현합니다.

FTP 서버와 연결을 설정하려면 FTP 개체를 가져옵니다.

con=FTP(호스트 이름)

FTP 클래스는 다음 메소드를 지원합니다 -

연결()

주어진 호스트와 포트에 연결합니다. 기본 포트 번호는 FTP 프로토콜 사양에 지정된 대로 21입니다.

환영합니다()

초기 연결에 대한 응답으로 서버에서 보낸 환영 메시지를 반환합니다.

로그인(사용자='익명', 암호='', 계정='')

지정된 사용자로 로그인합니다. passwd 및 acct 매개변수는 선택 사항이며 기본값은 빈 문자열입니다. 사용자를 지정하지 않으면 기본값은 '익명'입니다. 사용자가 'anonymous'인 경우 기본 암호는 'anonymous@'입니다.

중단()

진행 중인 파일 전송을 중단합니다.

retrbinary(cmd, 콜백, 블록 크기=8192, 나머지=없음)

바이너리 전송 모드에서 파일을 검색합니다. cmd는 적절한 RETR 명령이어야 합니다:'RETR 파일 이름'.

Storbinary()

바이너리 전송 모드로 파일을 저장합니다. cmd는 적절한 STOR 명령인 "STOR 파일 이름"이어야 합니다. fp는 read() 메서드를 사용하여 EOF가 될 때까지 읽는 파일 객체(바이너리 모드로 열림)입니다.

디렉토리()

LIST 명령에 의해 반환된 디렉토리 목록을 생성하여 표준 출력으로 인쇄합니다.

삭제(파일명)

서버에서 filename이라는 파일을 제거합니다.

cwd(경로명)

서버의 현재 디렉토리를 설정합니다.

mkd(경로명)

서버에 새 디렉토리를 만듭니다.

FTP.pwd()

서버에 있는 현재 디렉토리의 경로명을 반환합니다.

rmd(디렉토리 이름)

서버에서 dirname이라는 디렉토리를 제거하십시오.

크기(파일명)

서버에서 filename이라는 파일의 크기를 요청합니다. 성공하면 파일 크기가 정수로 반환되고, 그렇지 않으면 None이 반환됩니다. SIZE 명령은 표준화되지 않았지만 많은 일반적인 서버 구현에서 지원됩니다.

종료()

서버에 QUIT 명령을 보내고 연결을 닫습니다.

다음 예는 서버와 익명으로 연결하고 로컬 폴더에 파일을 다운로드하고 로컬 파일을 업로드하는 예입니다.

from ftplib import FTP
import os
def downloadFile():
   filename = 'README.MIRRORS'
   localfile = open(filename, 'wb')
   ftp.retrbinary('RETR ' + filename, localfile.write, 1024)
   ftp.quit()
   localfile.close()
def uploadFile():
   filename = '/home/malhar/file.txt'
   ftp.storbinary('STOR '+filename, open(filename, 'rb'))
   ftp.quit()
with FTP("ftp1.at.proftpd.org") as ftp:
   ftp.login()
   ftp.getwelcome()
   ftp.dir()
   downloadFile()
   uploadFile()