python3 ftp客戶端操作

#coding=utf-8
import ftplib 
import os
import socket
 
class MyFtp():
    def __init__(self):
        self.ftp_client = ftplib.FTP()

    def ftp_connect(self, ftp_ip, ftp_port, ftp_username, ftp_password):
	try:
		self.ftp_client.connect(host=ftp_ip, port=ftp_port, timeout=10)
	except (socket.error, socket.gaierror) as e:
		print('Error, cannot reach ' + ftp_ip)
		return
	else:
		print('Connect To Host Success...')
		
	try:
		self.ftp_client.login(user=ftp_username, passwd=ftp_password)
	except ftplib.error_perm:
		print('Username or Passwd Error')
		self.ftp_client.quit()
		return
	else:
		print('Login Success...')
	
	return 1000;
 
    def ftp_download(self, remotepath, localpath):
	try:
		self.ftp_client.retrbinary('RETR %s' %remotepath, open(localpath, 'wb').write)
	except ftplib.error_perm:
		print('File Error')
		os.unlink(localpath)
	else:
		print('Download Success...')
	self.ftp_client.quit()
 
    def ftp_upload(self, remotepath, localpath):
	try:
		self.ftp_client.storbinary('STOR %s' %remotepath, open(localpath, 'rb'))
	except ftplib.error_perm:
		print('File Error')
		os.unlink(localpath)
	else:
		print('Upload Success...')
	self.ftp_client.quit()
 
if __name__ == '__main__':
	HOST = '10.0.19.104'
	PORT = '21'
	USER = 'ftp'
	PASSWD = '888888'
	#實例化
	my_ftp = MyFtp()
	if my_ftp.ftp_connect(HOST, PORT, USER, PASSWD) == 1000:
	    #my_ftp.ftp_download('./ftp.py', './ftp.py')  # 下載
	    my_ftp.ftp_upload('./ftp.py', './ftp1.py') # 上傳

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章