ftp-client-2

编程语言:python 2.7
主要模块:ftplib

使用cmd模块实现交互,没有完整的异常处理,根据实际情况修改!

#coding=utf-8
from cmd import Cmd  
from ftplib import FTP
import sys,os
target_host="192.168.142.134"
target_port="2121"
ftp_user="user"
ftp_pass="12345"
timeout=100 
def login_server():
    try:
        f=FTP()
        f.set_debuglevel(1)
        f.connect(host=target_host, port=target_port,timeout=timeout)
        f.login(user=ftp_user,passwd=ftp_pass)
        f.getwelcome()
        return f
    except:
        print "login failed !"
        sys.exit(0)    
class ftp_cmd(Cmd):
    def __init__(self):
        Cmd.__init__(self)
    def do_cls(self,line):
        os.system("cls")
    def do_local(self,line):
        os.system("dir")    
    def do_open(self,line):
        f=login_server()
        self.f=f
    def do_pwd(self,line):
        self.f.pwd()
    def do_cd(self,line):
        self.f.cwd(line)
    def do_mkdir(self,line):
        self.f.mkd(line)
    def do_rmdir(self,line):
        self.f.rmd(line)
    def do_dir(self,line):
        self.f.dir()
    def do_rename(self,line):
        filename=str(line).split(' ')
        self.f.rename(filename[0],filename[1])
    def do_del(self,line):
        self.f.delete(line)
    def do_quit(self,line):
        self.f.quit()
        sys.exit(0)
    def do_close(self,line):
        self.f.close()
        sys.exit(0)
    def do_upload(self,line):
        line=open(line,'rb')
        self.f.storbinary('STOR %s'%line,line)
        line.close()
    def do_download(self,line):
        filename=open(line,'wb')
        self.f.retrbinary('RETR %s'%line,filename.write)
        filename.close()
    def do_abort(self):
        self.f.abort()
def main():
    global target_host
    global target_port
    global ftp_user
    global ftp_pass
    global timeout
    parameter=len(sys.argv)
    if parameter!=1:
        print "-------------------------------------"
        print "Warnning : your parameters is illegal"
        print "-------------------------------------"
        sys.exit(0)
    else:
        ftp_cmd().cmdloop()
if __name__=='__main__':
    main()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值