【问题标题】:Download file as string in python在python中将文件下载为字符串
【发布时间】:2013-04-08 04:03:05
【问题描述】:

我想将文件作为字符串下载到 python。我尝试了以下方法,但似乎不起作用。我做错了什么,或者我还能做什么?

from urllib import request

webFile = request.urlopen(url).read()
print(webFile)

【问题讨论】:

    标签: python string file python-3.x download


    【解决方案1】:

    以下示例有效。

    from urllib.request import urlopen
    
    url = 'http://winterolympicsmedals.com/medals.csv'
    output = urlopen(url).read()
    print(output.decode('utf-8'))
    

    或者,您可以使用requests,它提供了更易于阅读的语法。请记住,请求需要您安装额外的依赖项,这可能会增加部署应用程序的复杂性,具体取决于您的生产环境。

    import requests
    
    url = 'http://winterolympicsmedals.com/medals.csv'
    output = requests.get(url).text
    print(output)
    

    【讨论】:

    • 主题被标记为 3.x。这似乎在 3.x 中不起作用。
    • 很奇怪......很确定这个问题发生了一些变化......或者它可能适用于 Python 的早期版本(因为这是从 2013 年开始的)。
    • 这两个示例块都可以在我的 macOS 系统上使用 Python 3.8.2。
    【解决方案2】:

    在 Python3.x 中,像这样使用包 'urllib':

    from urllib.request import urlopen
    
    data = urlopen('http://www.google.com').read() #bytes
    body = data.decode('utf-8')
    

    【讨论】:

      【解决方案3】:

      另一个很好的库是http://docs.python-requests.org

      它不是内置的,但我发现它比 urllib* 更有用。

      【讨论】:

        猜你喜欢
        • 2011-01-06
        • 1970-01-01
        • 1970-01-01
        • 2017-11-23
        • 1970-01-01
        • 2017-11-06
        • 2013-01-16
        • 2014-09-12
        • 2015-04-18
        相关资源
        最近更新 更多