<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)論

    主站蜘蛛池模板: 国产免费无码一区二区| 午夜亚洲国产理论片二级港台二级 | 成人A级毛片免费观看AV网站| 久久精品国产亚洲av日韩| 99爱在线观看免费完整版| 亚洲小视频在线观看| 91九色老熟女免费资源站| 亚洲国产精品人久久电影| 免费A级毛片无码无遮挡内射| 亚洲国产日韩综合久久精品| 女人18特级一级毛片免费视频| 亚洲日韩精品无码专区| 免费a级毛片在线观看| 国产免费人成视频在线播放播| 亚洲国产成人一区二区三区| 日本视频免费高清一本18| 亚洲欧洲日韩综合| 免费看无码自慰一区二区| 人人爽人人爽人人片av免费| 亚洲av日韩av无码黑人| A在线观看免费网站大全| 亚洲AⅤ男人的天堂在线观看| 国产亚洲精品无码专区| 3d动漫精品啪啪一区二区免费| 亚洲无吗在线视频| 亚洲男人的天堂在线va拉文| 国产婷婷成人久久Av免费高清| 亚洲一区二区三区深夜天堂| www国产亚洲精品久久久| 无码av免费一区二区三区试看| 亚洲一级高清在线中文字幕| 四虎永久在线精品免费观看地址 | 在线观看亚洲网站| 亚洲AV永久精品爱情岛论坛| 午夜国产精品免费观看 | 国产高清不卡免费视频| 亚洲欧美日韩自偷自拍| 人人狠狠综合久久亚洲88| 好爽…又高潮了毛片免费看| a毛片免费在线观看| 亚洲午夜福利在线视频|