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

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

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

本文實(shí)例講述了Python使用ftplib實(shí)現(xià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)試級別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)文件

一個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)試級別2,顯示詳細(xì)信息  
    #self.ftp.set_pasv(0)  #0主動模式 1 #被動模式 
    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!"

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

相關(guān)文章

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

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

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

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

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

    ?Python錯誤與異常處理

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

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

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

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

    python中有關(guā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)代碼,一起來看看吧
    2023-03-03
  • Python實(shí)現(xiàn)FM算法解析

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

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

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

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

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

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

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

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

最新評論

克什克腾旗| 临漳县| 元江| 长宁区| 蓬安县| 闽侯县| 石家庄市| 商河县| 建始县| 会泽县| 武汉市| 呼伦贝尔市| 开化县| 昌乐县| 米易县| 永登县| 磴口县| 舒兰市| 称多县| 若羌县| 正阳县| 佳木斯市| 苗栗县| 临漳县| 金华市| 宜章县| 蓬溪县| 蒙山县| 休宁县| 海林市| 吴桥县| 岢岚县| 雅安市| 汾西县| 陆良县| 余姚市| 且末县| 洪泽县| 拉孜县| 邵东县| 多伦县|