设为首页 加入收藏

TOP

Python FTP 下载文件 简单示例
2015-02-03 22:27:36 来源: 作者: 【 】 浏览:27
Tags:Python FTP 下载 文件 简单 示例

简单的FTP下载 ,不加任何异常判断。


import os


from ftplib import FTP


ftp_addr = '10.10.0.1'


f=FTP(ftp_addr)
f.login('anonymous')
f.cwd("apk_download/")? ?
remote_file = '20141223140651.apk'
f.retrbinary("RETR %s" % remote_file, open(remote_file, "wb").write)


还有个带 异常处理的版本


#! encoding:utf-8
# Filename : ftptestdown.py
#使用ftplib.error_perm函数来打印输出错误信息


import ftplib
import os
import socket


remote_host = "ftp.kernel.org"
remote_dir = "/pub/linux/kernel/v1.0"
remote_file = "patch8.gz"
def kernelmain():
? ? try:
? ? ? ? ftp = ftplib.FTP(remote_host)
? ? except (socket.error, socket.gaierror):
? ? ? ? print "ERROR cannot reach '%s'" % remote_host
? ? ? ? return
? ? print "..Connected to remote_host '%s'.." %remote_host


? ? try:
? ? ? ? ftp.login() #使用匿名账号登陆也就是anonymous
? ? except ftplib.error_perm:
? ? ? ? print "ERROR cannot login anonymously"
? ? ? ? ftp.quit()
? ? ? ? return
? ? print "...logged in as 'anonymously'..."


? ? try:
? ? ? ? ftp.cwd(remote_dir) #切换当前工作目录
? ? except ftplib.error_perm:
? ? ? ? print "ERROR cannot cd to '%s'" % remote_dir
? ? ? ? ftp.quit()
? ? ? ? return
? ? print "....Changed to '%s' folder...." % remote_dir


? ? try:#传一个回调函数给retrbinary() 它在每接收一个二进制数据时都会被调用
? ? ? ? ftp.retrbinary("RETR %s" % remote_file, open(remote_file, "wb").write)
? ? except ftplib.error_perm:
? ? ? ? print "ERROR cannot remote_file '%s'" % remote_file
? ? ? ? os.unlink(remote_file)
? ? else:
? ? ? ? print ".....Download '%s' to cwd....." % remote_file
? ?
? ? ftp.quit()
? ? return


#调用函数执行测试
if __name__ == "__main__":
? ? kernelmain()


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Python zipfile报错解决一例 下一篇Java中使用配置文件——propertie..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: