关闭

ftp-client-1

标签: pythonpyton-ftpftp客户端
185人阅读 评论(0) 收藏 举报
分类:

使用语言:python 2.7
主要模块:ftplib

主要使用一个while循环,没有进行完整的异常处理,根据实际需求情况修改!

#coding=utf-8
from ftplib import FTP
import sys,os

target_host="192.168.142.134"
target_port="2121"
ftp_user="user"
ftp_pass="12345"
timeout=10
command=""
def ftp_cmd_list():
    print ("local      local directory")
    print ("cls        clear the screen")
    print ("pwd        print the name of current woring directory")
    print ("cd         change the working directory")
    print ("mkd        create new directory")
    print ("rmd        delete a directory")
    print ("dir        display the list of directory")
    print ("rename     rename a file")
    print ("del        delete a file")
    print ("quit       close connection politely")
    print ("close      clode connection impolitely")
    print ("upload     send files from local to remote server")
    print ("download   receive files from server")
def main():
    global target_host
    global target_port
    global ftp_user
    global ftp_pass
    global timeout
    global command
    parameter=len(sys.argv)
    if parameter!=1:
        print "don't add parameter"
    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()
    while True:
        command=raw_input(' <? to get help>## :')
        if command=='?'or command=='help':
            ftp_cmd_list()
        elif command=='pwd':
            f.pwd()  
        elif command=='dir':
            f.dir()
        elif command=='cd':
            dirname=raw_input('dirname:')
            f.cwd(dirname)
        elif command=='mkd':
            mkdir=raw_input('dirname:')
            f.mkd(mkdir)
        elif command=="rmd":
            rmdir=raw_input('dirname:')
            f.rmd(rmdir)
        elif command=='rename':
            fromname=raw_input('old name:')
            toname=raw_input('new name:')
            f.rename(fromname, toname)
        elif command=='del':
            delname=raw_input('filename:')
            f.delete(delname)
        elif command=='local':
            os.system("dir")
        elif command=='cls':
            os.system("cls")        
        elif command=='quit':
            f.quit()
            sys.exit(0)
        elif command=='close':
            f.close()
            sys.exit(0)
        elif command=='upload': 
            localfile=raw_input('localfile:')
            remotefile=raw_input('remotefile:')
            file_handler=open(localfile,'rb')
            f.storbinary('STOR %s'%remotefile,file_handler)
            file_handler.close()
        elif command=='download':
            remote_file=raw_input('remotefile:')
            local_file=raw_input('localfile:')
            file_hand=open(local_file,'wb')
            f.retrbinary('RETR %s'%(remote_file),file_hand.write)
        elif command=='stop':
            f.abort()
        else:
            print "this parameter is illegal"    

if __name__=='__main__':
    main()

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:20094次
    • 积分:771
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:4篇
    • 译文:5篇
    • 评论:1条
    最新评论