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以流水賬形式記錄著學習的點點滴滴。

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

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 娱乐| 江门市| 来凤县| 策勒县| 彝良县| 资中县| 武陟县| 宝山区| 麦盖提县| 仁化县| 江西省| 浦江县| 阳西县| 瑞丽市| 界首市| 西林县| 日土县| 游戏| 东乡族自治县| 沂南县| 南昌县| 河津市| 铁岭市| 锡林郭勒盟| 绥宁县| 巴东县| 沈丘县| 泗水县| 阿拉善左旗| 诸暨市| 安塞县| 红安县| 寿宁县| 汉沽区| 鄱阳县| 金塔县| 霍林郭勒市| 深水埗区| 龙南县| 凯里市| 安新县|