<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!"

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

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

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網(wǎng)站

    關(guān)注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914554
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 少妇性饥渴无码A区免费 | 另类小说亚洲色图| 成年人网站免费视频| 亚洲av日韩av激情亚洲| 久久免费精品一区二区| 亚洲成Av人片乱码色午夜| 爽爽爽爽爽爽爽成人免费观看| 久久精品亚洲福利| 中文字幕乱码免费看电影| 国产成A人亚洲精V品无码性色| 免费a级毛片无码a∨免费软件| 国产aⅴ无码专区亚洲av| 久久九九AV免费精品| 久久亚洲AV成人无码国产| 97视频免费观看2区| 国产免费啪嗒啪嗒视频看看| 亚洲欧美乱色情图片| 国产真人无码作爱免费视频| 亚洲夜夜欢A∨一区二区三区| 中文字幕乱理片免费完整的| 男女交性永久免费视频播放| 亚洲大尺度无码专区尤物| 久久精品国产免费一区| 精品日韩亚洲AV无码一区二区三区| 污视频在线观看免费| 亚洲系列中文字幕| 无码中文字幕av免费放| 337P日本欧洲亚洲大胆艺术图 | 99精品视频在线观看免费播放| 亚洲高清不卡视频| 天天天欲色欲色WWW免费| 一区二区免费国产在线观看| 亚洲大尺度无码专区尤物| 欧美好看的免费电影在线观看| 国产精品日本亚洲777| 亚洲人成人无码网www电影首页| 99精品一区二区免费视频| 亚洲人成网站色7799| 亚洲国产精品第一区二区三区| 免费在线看污视频| 亚洲综合精品成人|