python - 在 Python 中使用 shutil、urllib 和 contextlib 下载 FTP 文件和另存为
问题描述
在这里的问题中,我们学习如何在 python 中使用 FTP 获取文件。答案是我的代码中的内容,如下所示:
import shutil
import urllib.request as request
from contextlib import closing
with closing(request.urlopen('ftp://server/path/to/file')) as r:
with open('file', 'wb') as f:
shutil.copyfileobj(r, f)
我现在如何在本地保存这些文件?这path/to/file
在嵌套目录中有一堆目录和文件。理想情况下,我希望下载根目录并在其中包含所有文件和文件夹。
由于我对 Python 和 FTP 都不熟悉,因此我不能 100% 确定我的问题是否尽可能清楚。请不要犹豫,在评论中要求澄清,谢谢!
解决方案
你可以试试这个
import ftplib
def getFile(filename,folder,ipaddr,usr,pswd):
ftp = ftplib.FTP(ipaddr)
ftp.login(usr,pswd)
ftp.cwd(folder)
ftp.retrbinary("RETR " + filename, open(filename, 'wb').write)
ftp.quit()
推荐阅读
- java - Java 日志只能在调试模式下抛出
- python - 谷歌云功能是在每次调用时安装还是仅在部署时安装?
- python - 在 Python 中创建 auth Powershell auth 对象的最佳方法是什么?
- python - Python递归更新数组
- sql - 优化大表上的 SELECT count(*)
- java - 在休眠中自定义列映射
- python - NameError:未定义名称“env”
- c# - 如何在 Blazor(子)组件中引用“@typeparam TModel”字段?
- .net - 每当我在 Visual Studio 2022 中运行任何 Web 应用程序时都会出现证书错误
- c++ - 从 constexpr 数组中获取 constexpr 属性的困难