:)

他很懒,什么都没有留下。

ftp-client-1

使用语言: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()

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ShadowFlow/article/details/51549502
个人分类: Python基础
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

ftp-client-1

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭