参考了脚本,Python编写上传下载还是很方便的,搜索了一下资料找到了一哥们的参考例子,转来先!
维护服务器的朋友都很清楚,经常需要备份上传下载到其他服务器,所以人去做就很费时间,改用编写脚本每天凌晨夜深人静的时候让它自己跑去!
Win的写法是采用BAT文件来实现,Linux和FreeBSD下可以采用Shell命令,但发现Python更强大!以下是转来的列子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #!/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" |
转自:http://wangwei007.blog.51cto.com/68019/983638