微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过 python 访问托管在网络上的文件?

如何解决如何通过 python 访问托管在网络上的文件?

我正在开发一个在本地机器上运行的系统(python 程序),但它需要获取托管在网络某处的数据(在我的例子中是图像)。 它的作用是:

  1. 向虚拟主机发送 sql 查询(当前为 localhost
  2. 响应发回图像的名称(它存储在一个名为 fetchedImages 的数组中,让我们假设)。

现在,一旦我获得了所需图像的所有名称,我要做的就是直接从 localhost 访问文件并将其复制到本地计算机。但这就是我的问题:

我试图访问它:

source = "localhost/my-site/images"
localDir = "../images"

for image in fetchedImages:
    copy(source+image,localDir)

但问题是,本地主机是使用 XAMPP 创建的,我无法访问 localhost,因为 python 不接受它作为路径。如果不是通过 SimpleHTTPServer 创建而是通过 XAMPP 创建的,如何访问 localhost?

解决方法

可以使用 requests 求解:

import requests as req
from StringIO import StringIO
from PIL import Image

source = "http://localhost/my-site/images/"
localDir = "../images"

for image in fetchedImages:
    remoteImage = req.get(source+image)
    imgToCopy = Image.open(StringIO(remoteImage.content))
    imgToCopy.save(localDir+image)

requests 将访问网络资源,从而使系统易于使用动态路径(localhost/my-sitewww.my-site.com),然后将这些资源复制到本地机器进行处理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。