Python寫的FTP簡單上傳下載文件實現定時往FTP上上傳或者下載一些文件,寫了一個上傳下載的函數,發現很簡單的,python本身自帶一個FTP模塊,可以實現這些:
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
-
- from ftplib import FTP
-
- def ftp_up(filename = "20120904.rar"):
- ftp=FTP()
- ftp.set_debuglevel(2)#打開調試級別2,顯示詳細信息;0為關閉調試信息
- ftp.connect('192.168.0.1','21')#連接
- ftp.login('admin','admin')#登錄,如果匿名登錄則用空串代替即可
- #print ftp.getwelcome()#顯示ftp服務器歡迎信息
- #ftp.cwd('xxx/xxx/') #選擇操作目錄
- bufsize = 1024#設置緩沖塊大小
- file_handler = open(filename,'rb')#以讀模式在本地打開文件
- ftp.storbinary('STOR %s' % os.path.basename(filename),file_handler,bufsize)#上傳文件
- ftp.set_debuglevel(0)
- file_handler.close()
- ftp.quit()
- print "ftp up OK"
-
- def ftp_down(filename = "20120904.rar"):
- ftp=FTP()
- ftp.set_debuglevel(2)
- ftp.connect('192.168.0.1','21')
- ftp.login('admin','admin')
- #print ftp.getwelcome()#顯示ftp服務器歡迎信息
- #ftp.cwd('xxx/xxx/') #選擇操作目錄
- bufsize = 1024
- filename = "20120904.rar"
- file_handler = open(filename,'wb').write #以寫模式在本地打開文件
- ftp.retrbinary('RETR %s' % os.path.basename(filename),file_handler,bufsize)#接收服務器上文件並寫入本地文件
- ftp.set_debuglevel(0)
- file_handler.close()
- ftp.quit()
- print "ftp down OK"