python之ftplib库

检测ftp是否可用

#!/usr/bin/python
#coding:utf-8

from ftplib import FTP

def ftp_open(ip,user,passwd):
        try:
                print ip,user,passwd
                ftp=FTP()
                ftp.set_debuglevel(2) #打开调试级别,显示详细信息
           ftp.connect(ip) #连接
           ftp.login(user,passwd) #登录
           print ftp.getwelcome() #显示ftp服务器欢迎信息
           return 1
        except:
                return 0

if ftp_open('192.168.209.128','test','redhat'):
        print "YES"
else:
        print "NO"

下载文件:

#!/usr/bin/python
#FTP download

from ftplib import FTP

host = '192.168.209.128'
user = 'test'
pwd = 'redhat'

f = FTP(host)
f.login(user,pwd)
f.cwd('/tmp')
fd = open('ftptest.tar.gz', 'wb')
f.retrbinary('RETR ftptest.tar.gz', fd.write)
fd.close()
f.quit()

retrbinary()函数可以向指定的函数传输整块的数据。

上传文件:
上传通过两个基本的函数来实现:storbinary()和storlines()。这两个基本函数分别调用一个指令,以及一个文件类型对象来执行。
其中storbinary()函数调用的是该对象的read(),而storlines()函数调用的是readline().

#!/usr/bin/python
#FTP upload

from ftplib import FTP
import sys, os.path

host = '192.168.209.128'
user = 'liyaoyi'
pwd = 'redhat'
localfile = "testupload.tar.gz"

f = FTP(host)
f.login(user, pwd)

fd = open(localfile, 'rb')
f.storbinary('STOR %s' % os.path.basename(localfile), fd)
fd.close()

f.quit()


错误处理:
可以将代码放在一个try:程序块之中,用except ftplib.all_errors来捕获所有可能发生的错误。

 

posted @ 2013-10-18 10:08  运维文件夹  阅读(1024)  评论(0编辑  收藏  举报