ftplib মডিউলের FTP ক্লাস FTP প্রোটোকলের ক্লায়েন্ট সাইড বাস্তবায়ন করে।
FTP সার্ভারের সাথে কানেকশন স्थাপন করতে FTP অবজেক্ট প্রাপ্ত করতে হয়।
con = FTP(hostname)
FTP ক্লাস নিচের মেথডগুলো সমর্থন করে:
connect()
দেওয়া হост ও পোর্টে কানেক্ট করে। ডিফল্ট পোর্ট ২১, FTP প্রোটোকল স্পেসিফিকেশন অনুযায়ী।
Getwelcome()
সার্ভারের পাঠানো ভালোবাসা মেসেজ (welcome message) রিটার্ন করে।
login(user='anonymous', passwd='', acct='')
দেওয়া ইউজার হিসেবে লগইন করে। passwd ও acct অপশনাল, ডিফল্ট খালি স্ট্রিং। ইউজার না দিলে 'anonymous' ডিফল্ট। ইউজার 'anonymous' হলে ডিফল্ট পাসওয়ার্ড 'anonymous@'।
abort()
চলমান ফাইল ট্রান্সফার এবোর্ট করে।
retrbinary(cmd, callback, blocksize=8192, rest=None)
বাইনারি ট্রান্সফার মোডে ফাইল রিট্রিভ করে। cmd হবে উপযুক্ত RETR কমান্ড: 'RETR filename'।
Storbinary()
বাইনারি ট্রান্সফার মোডে ফাইল স্টোর করে। cmd হবে উপযুক্ত STOR কমান্ড: "STOR filename"। fp হল ফাইল অবজেক্ট (বাইনারি মোডে ওপেন) যা EOF পর্যন্ত read() মেথড দিয়ে পড়া হয়।
dir()
LIST কমান্ড দিয়ে ডিরেক্টরি লিস্টিং প্রিন্ট করে স্ট্যান্ডার্ড আউটপুটে।
delete(filename)
সার্ভার থেকে filename নামে ফাইল মুছে দেয়।
cwd(pathname)
সার্ভারে কারেন্ট ডিরেক্টরি সেট করে।
mkd(pathname)
সার্ভারে নতুন ডিরেক্টরি তৈরি করে।
FTP.pwd()
সার্ভারে কারেন্ট ডিরেক্টরির পাথনেম রিটার্ন করে।
rmd(dirname)
সার্ভার থেকে dirname নামে ডিরেক্টরি মুছে দেয়।
size(filename)
সার্ভারে filename নামে ফাইল সাইজ অনুরোধ করে। সফল হলে ফাইল সাইজ ইন্টিজার হিসেবে রিটার্ন করে, অন্যথায় None। মনে রাখবেন SIZE কমান্ড স্ট্যান্ডার্ডাইজড নয়, কিন্তু অনেক সাধারণ সার্ভার ইমপ্লিমেন্টেশন এটিকে সমর্থন করে।
Quit()
সার্ভারে 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()