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

Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法

 更新時(shí)間:2015年06月03日 10:29:27   作者:m1331305  
這篇文章主要介紹了Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法,實(shí)例分析了ftplib模塊相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

#!/usr/bin/python 
#-*- coding:utf-8 -*- 
from ftplib import FTP   #加載ftp模塊 
ftp=FTP()          #設(shè)置變量 
ftp.set_debuglevel(2)    #打開調(diào)試級(jí)別2,顯示詳細(xì)信息 
ftp.connect("IP","port")  #連接的ftp sever和端口 
ftp.login("user","password")#連接的用戶名,密碼 
print ftp.getwelcome()   #打印出歡迎信息 
ftp.cmd("xxx/xxx")     #更改遠(yuǎn)程目錄 
bufsize=1024        #設(shè)置的緩沖區(qū)大小 
filename="filename.txt"   #需要下載的文件 
file_handle=open(filename,"wb").write
#以寫模式在本地打開文件 
ftp.retrbinaly("RETR filename.txt",file_handle,bufsize)
#接收服務(wù)器上文件并寫入本地文件 
ftp.set_debuglevel(0)    #關(guān)閉調(diào)試模式 
ftp.quit          #退出ftp 
ftp.dir()          #顯示目錄下文件信息 
ftp.mkd(pathname)      #新建遠(yuǎn)程目錄 
ftp.pwd()          #返回當(dāng)前所在位置 
ftp.rmd(dirname)      #刪除遠(yuǎn)程目錄 
ftp.delete(filename)    #刪除遠(yuǎn)程文件 
ftp.rename(fromname, toname)#將fromname修改名稱為toname。 
ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上傳目標(biāo)文件

一個(gè)FTP完整實(shí)例:

#coding:utf-8 
from ctypes import * 
import os 
import sys 
import ftplib 
class myFtp: 
  ftp = ftplib.FTP() 
  bIsDir = False 
  path = "" 
  def __init__(self, host, port='21'): 
    self.ftp.set_debuglevel(2) #打開調(diào)試級(jí)別2,顯示詳細(xì)信息  
    #self.ftp.set_pasv(0)  #0主動(dòng)模式 1 #被動(dòng)模式 
    self.ftp.connect( host, port ) 
  def Login(self, user, passwd ): 
    self.ftp.login( user, passwd ) 
    print self.ftp.welcome 
  def DownLoadFile( self, LocalFile, RemoteFile ): 
    file_handler = open( LocalFile, 'wb' ) 
    self.ftp.retrbinary( "RETR %s" %( RemoteFile ), file_handler.write )  
    file_handler.close() 
    return True 
  def UpLoadFile( self, LocalFile, RemoteFile ): 
    if os.path.isfile( LocalFile ) == False: 
      return False 
    file_handler = open( LocalFile, "rb" ) 
    self.ftp.storbinary( 'STOR %s'%RemoteFile, file_handler, 4096 )
    file_handler.close() 
    return True 
  def UpLoadFileTree( self, LocalDir, RemoteDir ): 
    if os.path.isdir( LocalDir ) == False: 
      return False 
    LocalNames = os.listdir( LocalDir ) 
    print RemoteDir 
    self.ftp.cwd( RemoteDir ) 
    for Local in LocalNames: 
      src = os.path.join( LocalDir, Local) 
      if os.path.isdir( src ): 
        self.UpLoadFileTree( src, Local ) 
      else: 
        self.UpLoadFile( src, Local ) 
    self.ftp.cwd( ".." ) 
    return 
  def DownLoadFileTree( self, LocalDir, RemoteDir ): 
    if os.path.isdir( LocalDir ) == False: 
      os.makedirs( LocalDir ) 
    self.ftp.cwd( RemoteDir ) 
    RemoteNames = self.ftp.nlst()  
    for file in RemoteNames: 
      Local = os.path.join( LocalDir, file ) 
      if self.isDir( file ): 
        self.DownLoadFileTree( Local, file )         
      else: 
        self.DownLoadFile( Local, file ) 
    self.ftp.cwd( ".." ) 
    return 
  def show( self, list ): 
    result = list.lower().split( " " ) 
    if self.path in result and "<dir>" in result: 
      self.bIsDir = True 
  def isDir( self, path ): 
    self.bIsDir = False 
    self.path = path 
    #this ues callback function ,that will change bIsDir value 
    self.ftp.retrlines( 'LIST', self.show ) 
    return self.bIsDir 
  def close( self ): 
    self.ftp.quit() 
ftp = myFtp('********') 
ftp.Login('*****','*****') 
#ftp.DownLoadFile('TEST.TXT', 'others\\runtime.log')#ok 
#ftp.UpLoadFile('runtime.log', 'others\\runtime.log')#ok 
#ftp.DownLoadFileTree('bcd', 'others\\abc')#ok 
#ftp.UpLoadFileTree('aaa',"others\\" ) 
ftp.close()
print "ok!"

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 用python寫測(cè)試數(shù)據(jù)文件過(guò)程解析

    用python寫測(cè)試數(shù)據(jù)文件過(guò)程解析

    這篇文章主要介紹了用python寫測(cè)試數(shù)據(jù)文件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python 接口實(shí)現(xiàn) 供第三方調(diào)用的例子

    python 接口實(shí)現(xiàn) 供第三方調(diào)用的例子

    今天小編就為大家分享一篇python 接口實(shí)現(xiàn) 供第三方調(diào)用的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • ?Python錯(cuò)誤與異常處理

    ?Python錯(cuò)誤與異常處理

    這篇文章主要介紹了?Python錯(cuò)誤與異常處理,錯(cuò)誤與異常處理在Python中具有非常重要的地位,熟練的使用錯(cuò)誤與異常處理能夠?yàn)槲覀兊腜ython編程提供很多的便利之處,希望您閱讀完本文后能夠有所收獲
    2022-01-01
  • 解決Pandas to_json()中文亂碼,轉(zhuǎn)化為json數(shù)組的問(wèn)題

    解決Pandas to_json()中文亂碼,轉(zhuǎn)化為json數(shù)組的問(wèn)題

    今天小編就為大家分享一篇解決Pandas to_json() 中文亂碼,轉(zhuǎn)化為json數(shù)組的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • python中關(guān)于日期時(shí)間處理的問(wèn)答集錦

    python中關(guān)于日期時(shí)間處理的問(wèn)答集錦

    python中有關(guān)日期時(shí)間處理的問(wèn)答集錦,有需要的朋友不妨參考下
    2013-03-03
  • 如何在Python中導(dǎo)入EXCEL數(shù)據(jù)

    如何在Python中導(dǎo)入EXCEL數(shù)據(jù)

    這篇文章主要介紹了使用Python處理EXCEL基礎(chǔ)操作篇1,如何在Python中導(dǎo)入EXCEL數(shù)據(jù),文中提供了解決思路和部分實(shí)現(xiàn)代碼,一起來(lái)看看吧
    2023-03-03
  • Python實(shí)現(xiàn)FM算法解析

    Python實(shí)現(xiàn)FM算法解析

    這篇文章主要介紹了Python實(shí)現(xiàn)FM算法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 詳解python的集合set的函數(shù)

    詳解python的集合set的函數(shù)

    這篇文章主要為大家介紹了python的集合set的函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • 基于Python繪制三種不同的中國(guó)結(jié)

    基于Python繪制三種不同的中國(guó)結(jié)

    馬上就要迎來(lái)新年了,就繪制了幾個(gè)中國(guó)結(jié),嘿嘿!本文為大家整理了三個(gè)繪制中國(guó)結(jié)的方法,文中的示例代碼講解詳細(xì),快跟隨小編一起動(dòng)手嘗試一下吧
    2023-01-01
  • 基于python opencv單目相機(jī)標(biāo)定的示例代碼

    基于python opencv單目相機(jī)標(biāo)定的示例代碼

    這篇文章主要介紹了基于python opencv單目相機(jī)標(biāo)定的實(shí)現(xiàn)代碼,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論

稷山县| 永嘉县| 鸡泽县| 象山县| 周宁县| 乳源| 孟州市| 元阳县| 互助| 铁力市| 弥勒县| 柞水县| 宁波市| 龙南县| 鄂州市| 孟连| 宁河县| 教育| 余姚市| 启东市| 清苑县| 轮台县| 霸州市| 湟源县| 应城市| 鹤岗市| 商河县| 手游| 铜山县| 克拉玛依市| 德兴市| 湖北省| 齐河县| 简阳市| 冕宁县| 喀什市| 赣榆县| 阳原县| 靖远县| 黄龙县| 布拖县|