如何通过python访问web上托管的文件?

如何通过python访问web上托管的文件?,python,localhost,remote-access,Python,Localhost,Remote Access,我正在开发一个在本地机器上运行的系统(python程序),但它需要获取web上某个位置的数据(在我的例子中是图像)。 它所做的是: 向webhost发送SQL查询(localhost当前) 响应会发回图像的名称(它存储在一个名为fetchedImages的数组中) 现在,一旦我有了所需图像的所有名称,我要做的就是直接从localhost访问该文件并将其复制到本地计算机。但我的问题是: 我试图通过以下方式访问它: source = "localhost/my-site/images&qu

我正在开发一个在本地机器上运行的系统(python程序),但它需要获取web上某个位置的数据(在我的例子中是图像)。 它所做的是:

  • 向webhost发送SQL查询(
    localhost
    当前)
  • 响应会发回图像的名称(它存储在一个名为
    fetchedImages
    的数组中)
  • 现在,一旦我有了所需图像的所有名称,我要做的就是直接从
    localhost
    访问该文件并将其复制到本地计算机。但我的问题是:

    我试图通过以下方式访问它:

    source = "localhost/my-site/images"
    localDir = "../images"
    
    for image in fetchedImages:
        copy(source+image,localDir)
    

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

    可以使用
    请求解决它,如下所示:

    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)
    

    请求将访问web资源,从而使系统易于使用动态路径(
    localhost/my site
    www.my-site.com
    )工作,然后将这些资源复制到本地计算机进行处理。

    localhost只是表示您尝试访问的IP地址的另一种方式,但是,如果您只想在本地驱动器上复制它,为什么不使用XAMP拥有所有信息的普通路径呢?例如,适用于Windows的
    source=“C:\Xampp\htdocs\my site\images\”
    。这正是我目前正在做的,但我计划稍后在远程主机上托管网站(
    www.my-site.com
    )。这就是为什么我不想使用
    source=“C:\Xampp\htdocs\my site\images\”
    。如果我现在就这样设计它,它将灵活地采用路径更改,因为它将不再在静态路径上工作。