首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用FTP的完整路径下载FTP文件?

如何使用FTP的完整路径下载FTP文件?
EN

Stack Overflow用户
提问于 2013-10-12 09:14:26
回答 2查看 3.1K关注 0票数 2

使用Python中的ftplib,您可以下载文件,但似乎只能使用文件名(而不是完整的文件路径)。以下代码成功下载了所请求的代码:

代码语言:javascript
运行
复制
import ftplib
ftp=ftplib.FTP("ladsweb.nascom.nasa.gov")
ftp.login()
ftp.cwd("/allData/5/MOD11A1/2002/001")
ftp.retrbinary('RETR MOD11A1.A2002001.h00v08.005.2007079015634.hdf',open("MOD11A1.A2002001.h00v08.005.2007079015634.hdf",'wb').write)

如您所见,首先建立站点登录(ftp.login()),然后设置当前目录(ftp.cwd())。之后,您需要声明文件名以下载驻留在当前目录中的文件。使用文件的完整路径/链接直接下载该文件如何?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-12 09:59:29

代码语言:javascript
运行
复制
import ftplib

ftp = ftplib.FTP("ladsweb.nascom.nasa.gov")
ftp.login()

a = 'allData/5/MOD11A1/2002/001/MOD11A1.A2002001.h00v08.005.2007079015634.hdf'
fhandle = open('ftp-test', 'wb')
ftp.retrbinary('RETR ' + a, fhandle.write)
fhandle.close()
票数 2
EN

Stack Overflow用户

发布于 2013-10-13 08:51:41

该解决方案使用乌尔利卜模块中的urlopen函数。urlopen函数将允许您下载ftp和http urls。我喜欢使用它,因为您可以在一行中连接和获取所有数据。最后三行从url中提取文件名,然后将数据保存到该文件名中。

代码语言:javascript
运行
复制
from urllib import urlopen
url = 'ftp://ladsweb.nascom.nasa.gov/allData/5/MOD11A1/2002/001/MOD11A1.A2002001.h00v08.005.2007079015634.hdf'
data = urlopen(url).read()
filename = url.split('/')[-1]
with open(filename, 'wb') as f:
    f.write(data)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19332553

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档