您的位置:首页 > 编程语言 > Python开发

python之ftplib库

2013-10-18 10:08 1026 查看
检测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来捕获所有可能发生的错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: