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"