使用Python从包含给定字符串的FTP服务器下载文件

使用Python从包含给定字符串的FTP服务器下载文件,第1张

使用Python从包含给定字符串的FTP服务器下载文件

好的,似乎可以工作。如果尝试下载目录或扫描文件,可能会出现问题。异常处理可以很方便地捕获错误的文件类型并跳过。

glob.glob
由于您使用的是远程文件系统,因此无法正常工作,但是您可以使用
fnmatch
匹配名称

这是代码:它下载

*DEM*
TEMP目录中匹配的所有文件,并按目录排序。

import ftplib,sys,fnmatch,osoutput_root = os.getenv("TEMP")fc = ftplib.FTP("ftp.igsb.uiowa.edu")fc.login()fc.cwd("/gis_library/counties")root_dirs = fc.nlst()for l in root_dirs:    sys.stderr.write(l + " ...n")    #print(fc.size(l))    dir_files = fc.nlst(l)    local_dir = os.path.join(output_root,l)    if not os.path.exists(local_dir):        os.mkdir(local_dir)    for f in dir_files:        if fnmatch.fnmatch(f,"*DEM*"):   # cannot use glob.glob sys.stderr.write("downloading "+l+"/"+f+" ...n") local_filename = os.path.join(local_dir,f) with open(local_filename, 'wb') as fh:     fc.retrbinary('RETR '+ l + "/" + f, fh.write)fc.close()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5661670.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存