最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實(shí)現(xiàn)ftp客戶(hù)端示例分享

 更新時(shí)間:2014年02月17日 10:11:18   作者:  
這篇文章主要介紹了python實(shí)現(xiàn)ftp客戶(hù)端示例,包括ftp的常見(jiàn)任務(wù),上傳,下載,刪除,更名等功能,需要的朋友可以參考下

復(fù)制代碼 代碼如下:

#!/usr/bin/python
#coding:utf-8
#write:JACK
#info:ftp example
import ftplib, socket, os
from time import sleep, ctime

def LoginFtp(self):
        ftps = ftplib.FTP()
        ftps.connect(self.host,self.port)
        ftps.login(self.name,self.passwd)

#未進(jìn)行判斷地址輸入是否為ip或者域名;可以進(jìn)行判斷是否包含<或者實(shí)體符號(hào)以及';其他可以忽略
class LoFtp(object):
    'this is ftp class example'
    host = str(raw_input('host,127.0.0.1\n'))
    if host == '':host = '127.0.0.1'

    port = raw_input('port,21\n')
    if not(port.isdigit()):port =21

    name = str(raw_input('name,anonymous\n'))
    if name=='':name='anonymous'

    passwd = str(raw_input('password\n'))
    if passwd =='':passwd=''

    def ZqFtp(self,host,name,passwd,port):
        self.host = host
        self.name = name
        self.passwd = passwd
        self.port = port

    def LoginFtp(self):
        self.ftps = ftplib.FTP()
        self.ftps.connect(self.host,self.port)
        self.ftps.login(self.name,self.passwd)
        self.buffer = 2048 #設(shè)置緩存大小

    def ShowFtp(self):
        self.LoginFtp()
        self.ftps.dir('/')
        dirs = str(raw_input('PLEASE INPUT DIR!\n'))
        print self.ftps.dir(dirs)


    def UpFtp(self):
        'uploads files'
        self.LoginFtp()
        self.ftps.set_debuglevel(2)
        filename = str(raw_input('PLEASE FILE NAME!\n'))
        file_open=open(filename,'rb') #打開(kāi)文件 可讀即可
        self.ftps.storbinary('STOR %s'% os.path.basename(filename),file_open,self.buffer)
        # 上傳文件
        self.ftps.set_debuglevel(0)
        file_open.close()

    def DelFtp(self):
        'Delete Files'
        self.LoginFtp()
        filename=str(raw_input('PLEASE DELETE FILE NAME!\n'))
        self.ftps.delete(filename)

    def RemoveFtp(self):
        'Remove File'
        self.LoginFtp()
        self.ftps.set_debuglevel(2)#調(diào)試級(jí)別,0無(wú)任何信息提示
        oldfile=str(raw_input('PLEASE OLD FILE NAME!\n'))
        newfile=str(raw_input('PLEASE NEW FILE NAME!\n'))
        self.ftps.rename(oldfile,newfile)
        self.ftps.set_debuglevel(0)

    def DownFtp(self):
        'Download File'
        self.LoginFtp()
        self.ftps.set_debuglevel(2)
        filename=str(raw_input('PLEASE FILE NAME!\n'))
        file_down = open(filename,'wb').write
        self.ftps.retrbinary('STOP %s' % os.path.basename(filename),file_down,self.buffer)
        self.ftps.set_debuglevel(0)
        file_down.close()

 

a = LoFtp()
print a.ShowFtp()

while True:
    helpn= str(raw_input('Whether to continue to view or exit immediately!(y/n/q)\n'))
    if (helpn=='y')or(helpn=='Y'):
        dirs = str(raw_input('PLEASE INPUT DIR!\n'))
        a.ftps.dir(dirs)
    elif (helpn=='q')or (helpn=='Q'):
        exit()
    else:
        break

 

while True:
    print '上傳請(qǐng)選擇----1'
    print '下載請(qǐng)選擇----2'
    print '修改FTP文件名稱(chēng)----3'
    num = int(raw_input('PLEASE INPUT NUMBER![exit:5]\n'))

    if num ==1:
        upf = a.UpFtp()
        print 'Upfile ok!'
    elif num ==2:
        dof = a.DownFtp()
        print 'Download file ok!'
    elif num ==3:
        ref = a.RemoveFtp()
        print 'Remove file ok!'
    else:
        a.ftps.quit()
        print 'Bingo!'
        break


#login(user='anonymous',passwd='', acct='') 登錄到FTP服務(wù)器,所有的參數(shù)都是可選的
#pwd()                                     得到當(dāng)前工作目錄
#cwd(path)                                 把當(dāng)前工作目錄設(shè)置為path
#dir([path[,...[,cb]])       顯示path目錄里的內(nèi)容,可選的參數(shù)cb 是一個(gè)回調(diào)函數(shù),它會(huì)被傳給retrlines()方法
#nlst([path[,...])           與dir()類(lèi)似,但返回一個(gè)文件名的列表,而不是顯示這些文件名
#retrlines(cmd [, cb])       給定FTP 命令(如“RETR filename”),用于下載文本文件??蛇x的回調(diào)函數(shù)cb 用于處理文件的每一行
#retrbinary(cmd, cb[,bs=8192[, ra]])        與retrlines()類(lèi)似,只是這個(gè)指令處理二進(jìn)制文件。回調(diào)函數(shù)cb 用于處理每一塊(塊大小默認(rèn)為8K)下載的數(shù)據(jù)。
#storlines(cmd, f)           給定FTP 命令(如“STOR filename”),以上傳文本文件。要給定一個(gè)文件對(duì)象f
#storbinary(cmd, f[,bs=8192])               與storlines()類(lèi)似,只是這個(gè)指令處理二進(jìn)制文件。要給定一個(gè)文件對(duì)象f,上傳塊大小bs 默認(rèn)為8Kbs=8192])
#rename(old, new)            把遠(yuǎn)程文件old 改名為new
#delete(path)                刪除位于path 的遠(yuǎn)程文件
#mkd(directory)              創(chuàng)建遠(yuǎn)程目錄
#每個(gè)需要輸入的地方,需要進(jìn)行排查檢錯(cuò)。僅僅這個(gè)功能太小了。不過(guò)根據(jù)實(shí)際情況更改,放在bt里邊當(dāng)個(gè)小工具即可
#有點(diǎn)爛,沒(méi)有做任何try

相關(guān)文章

  • 七個(gè)非常實(shí)用的Python工具包總結(jié)

    七個(gè)非常實(shí)用的Python工具包總結(jié)

    Python 擁有海量的包,無(wú)論是普通任務(wù)還是復(fù)雜任務(wù),我們經(jīng)常在應(yīng)用程序中使用大量的工具包.本文我將討論一些常被低估的數(shù)據(jù)科學(xué)包,包括:數(shù)據(jù)清理、應(yīng)用程序開(kāi)發(fā)和調(diào)試方面,需要的朋友可以參考下
    2021-06-06
  • 利用Python實(shí)現(xiàn)自動(dòng)生成圖文并茂的數(shù)據(jù)分析

    利用Python實(shí)現(xiàn)自動(dòng)生成圖文并茂的數(shù)據(jù)分析

    這篇文章主要介紹了利用Python實(shí)現(xiàn)自動(dòng)生成圖文并茂的數(shù)據(jù)分析,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下
    2022-08-08
  • django連接oracle時(shí)setting 配置方法

    django連接oracle時(shí)setting 配置方法

    今天小編就為大家分享一篇django連接oracle時(shí)setting 配置方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python3讀取autocad圖形文件.py實(shí)例

    python3讀取autocad圖形文件.py實(shí)例

    這篇文章主要介紹了python3讀取autocad圖形文件.py實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • pycharm下查看python的變量類(lèi)型和變量?jī)?nèi)容的方法

    pycharm下查看python的變量類(lèi)型和變量?jī)?nèi)容的方法

    今天小編就為大家分享一篇pycharm下查看python的變量類(lèi)型和變量?jī)?nèi)容的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 解決python 文本過(guò)濾和清理問(wèn)題

    解決python 文本過(guò)濾和清理問(wèn)題

    文本過(guò)濾和清理所涵蓋的范圍非常廣泛,涉及文本解析和數(shù)據(jù)處理方面的問(wèn)題。這篇文章主要介紹了解決python 文本過(guò)濾和清理問(wèn)題,需要的朋友可以參考下
    2019-08-08
  • Python利用FlashText算法實(shí)現(xiàn)替換字符串

    Python利用FlashText算法實(shí)現(xiàn)替換字符串

    FlashText算法是由?Vikash?Singh?于2017年發(fā)表的大規(guī)模關(guān)鍵詞替換算法,比正則表達(dá)式替換快M倍以上,這個(gè)M是需要替換的關(guān)鍵詞數(shù)量,關(guān)鍵詞越多,F(xiàn)lashText算法的優(yōu)勢(shì)就越明顯。本文將詳細(xì)這一算法,需要的可以參考一下
    2022-03-03
  • OpenCV3.0+Python3.6實(shí)現(xiàn)特定顏色的物體追蹤

    OpenCV3.0+Python3.6實(shí)現(xiàn)特定顏色的物體追蹤

    這篇文章主要為大家詳細(xì)介紹了OpenCV3.0+Python3.6實(shí)現(xiàn)特定顏色的物體追蹤,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • 分析機(jī)器學(xué)習(xí)之決策樹(shù)Python實(shí)現(xiàn)

    分析機(jī)器學(xué)習(xí)之決策樹(shù)Python實(shí)現(xiàn)

    決策樹(shù)是一種非參數(shù)的有監(jiān)督學(xué)習(xí)方法,它能夠從一系列有特征和標(biāo)簽的數(shù)據(jù)中總結(jié)出決策規(guī)則,并用樹(shù)狀圖的結(jié)構(gòu)來(lái)呈現(xiàn)這些規(guī)則,以解決分類(lèi)和回歸問(wèn)題。決策樹(shù)算法容易理解,適用各種數(shù)據(jù),在解決各種問(wèn)題時(shí)都有良好表現(xiàn)
    2021-06-06
  • Python + selenium 自動(dòng)化測(cè)試框架詳解

    Python + selenium 自動(dòng)化測(cè)試框架詳解

    這篇文章主要為大家介紹了Python + selenium 自動(dòng)化測(cè)試框架,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12

最新評(píng)論

余干县| 昭平县| 平江县| 宜州市| 五华县| 茶陵县| 额尔古纳市| 东安县| 关岭| 临武县| 福海县| 儋州市| 广宗县| 信宜市| 临澧县| 灯塔市| 灯塔市| 榕江县| 青川县| 惠来县| 安达市| 西丰县| 平邑县| 双辽市| 凤阳县| 沙坪坝区| 公主岭市| 靖宇县| 平邑县| 潼关县| 麻城市| 开原市| 集贤县| 河源市| 雷山县| 县级市| 奈曼旗| 沈丘县| 迁安市| 临漳县| 宣武区|