<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    from ctypes import *
    import os
    import sys
    import ftplib

    class KANFtp:
    ??? ftp = ftplib.FTP()
    ??? bIsDir = False
    ??? path = ""
    ??? def __init__(self, host):
    ??????? self.ftp.connect( host )
    ???????????
    ??? 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 )
    ??????? 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

    ftp = KANFtp('192.168.21.10')
    ftp.Login('XXX','XXXX')

    #ftp.DownLoadFile('TEST.TXT', 'public\\hechangmin\\TEST.TXT')#ok
    #ftp.UpLoadFile('TEST.TXT', 'public\\hechangmin\\TEST.TXT')#ok
    #ftp.DownLoadFileTree('HECM', 'public\\hechangmin\\xxx\\')#ok
    ftp.UpLoadFileTree('ts',"Public\\hechangmin\\testFTP" )
    print "ok!"

    這個(gè)是我同事代碼。我只是修改一小部分。本blog以流水賬形式記錄著學(xué)習(xí)的點(diǎn)點(diǎn)滴滴。

    posted on 2008-04-15 13:54 -274°C 閱讀(746) 評(píng)論(0)  編輯  收藏 所屬分類: python

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊(cè)

    JAVA網(wǎng)站

    關(guān)注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914351
    • 排名 - 40

    最新評(píng)論

    主站蜘蛛池模板: 永久免费av无码网站yy| 99在线免费观看视频| 久久精品国产亚洲一区二区| 无码人妻一区二区三区免费看| 亚洲成电影在线观看青青| 国产免费观看网站| 久久黄色免费网站| 亚洲av永久中文无码精品| 国产亚洲婷婷香蕉久久精品| 免费看国产精品3a黄的视频| fc2免费人成在线视频| 亚洲制服丝袜一区二区三区| 亚洲精品国产va在线观看蜜芽| 16女性下面扒开无遮挡免费| 国产精品久久久久久亚洲影视| 亚洲AV日韩精品久久久久久久| 精品无码国产污污污免费| 久久精品视频免费看| 久久亚洲中文无码咪咪爱| 中文字幕亚洲色图| 亚洲精品人成无码中文毛片| 男女超爽刺激视频免费播放| 国产一级a毛一级a看免费视频| 亚洲精华国产精华精华液| 亚洲国产一区在线| 精品亚洲一区二区三区在线观看 | 热99RE久久精品这里都是精品免费| 亚洲乱码卡一卡二卡三| 人人狠狠综合久久亚洲88| 四虎永久在线精品免费观看地址 | 亚洲一区欧洲一区| 亚洲精品私拍国产福利在线| 免费国产真实迷j在线观看| 国色精品卡一卡2卡3卡4卡免费| 在线毛片片免费观看| 污视频网站在线免费看| 亚洲 欧洲 日韩 综合在线| 亚洲一二成人精品区| 伊人久久大香线蕉亚洲五月天| 在线看片无码永久免费aⅴ| 可以免费看的卡一卡二|