Computer >> Máy Tính >  >> Lập trình >> Python

Ứng dụng khách giao thức FTP bằng Python

Tất cả quan trọng Lớp FTP trong mô-đun ftplib triển khai phía máy khách của giao thức FTP.

Để thiết lập kết nối với máy chủ FTP, hãy tải đối tượng FTP.

con =FTP (tên máy chủ)

Lớp FTP hỗ trợ các phương thức sau -

connect ()

Kết nối với máy chủ và cổng đã cho. Số cổng mặc định là 21, như được chỉ định bởi đặc tả giao thức FTP.

Getwelcome ()

Trả lại tin nhắn chào mừng do máy chủ gửi để trả lời kết nối ban đầu.

đăng nhập (user ='nặc danh', passwd ='', acct ='')

Đăng nhập với tư cách người dùng đã cho. Các tham số passwd và acct là tùy chọn và mặc định là chuỗi trống. Nếu không có người dùng nào được chỉ định, nó sẽ mặc định là 'ẩn danh'. Nếu người dùng là 'ẩn danh', mật khẩu mặc định là 'nặc danh @'.

abort ()

Hủy quá trình truyền tệp đang diễn ra.

retrbinary (cmd, callback, blocksize =8192, rest =None)

Truy xuất tệp ở chế độ truyền nhị phân. cmd phải là lệnh RETR thích hợp:'Tên tệp RETR'.

Storbinary ()

Lưu trữ tệp ở chế độ truyền nhị phân. cmd phải là lệnh STOR thích hợp:"STOR tên tệp". fp là một đối tượng tệp (được mở ở chế độ nhị phân) được đọc cho đến khi EOF sử dụng phương thức read () của nó

dir ()

Tạo danh sách thư mục như được trả về bởi lệnh LIST, in nó ra đầu ra tiêu chuẩn.

xóa (tên tệp)

Xóa tệp có tên tệp khỏi máy chủ.

cwd (tên đường dẫn)

Đặt thư mục hiện tại trên máy chủ.

mkd (tên đường dẫn)

Tạo một thư mục mới trên máy chủ.

FTP.pwd ()

Trả lại tên đường dẫn của thư mục hiện tại trên máy chủ.

rmd (dirname)

Xóa thư mục có tên dirname trên máy chủ.

kích thước (tên tệp)

Yêu cầu kích thước của tệp có tên tên tệp trên máy chủ. Khi thành công, kích thước của tệp được trả về dưới dạng số nguyên, nếu không thì không được trả về. Lưu ý rằng lệnh SIZE không được chuẩn hóa, nhưng được hỗ trợ bởi nhiều triển khai máy chủ phổ biến.

Thoát ()

Gửi lệnh QUIT tới máy chủ và đóng kết nối.

Ví dụ sau thiết lập kết nối ẩn danh với máy chủ, tải tệp xuống thư mục cục bộ và tải tệp cục bộ lên.

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()