我正在尝试从网络上的URL获取文件,然后打开该文件以供我在AWS Lambda上的python中制作的应用程序中使用。我似乎没有办法以所需的格式获取文件,我认为这是一个os.Pathlike对象。
这是我现在正在尝试的方法,由于request.get返回的响应不是路径,因此不起作用。我现在正在通过电话发布信息,因此我无法使用代码标签。抱歉。
文件名= requests.get(“ url.com/file.txt”)
f =打开(文件名,“ rb”)
我还尝试了url上的urlparse和urllib urlretrieve,但是也不会返回类似路径的对象。请注意,我不相信我可以像在使用AWS lambda一样在外壳程序级别上使用wget或其他东西。
答案 0 :(得分:1)
import requests
url = 'http://url.com/file.txt'
r = requests.get(url, allow_redirects=True)
f = open(r, ‘rb’)
答案 1 :(得分:0)
进行此类操作时,最好先查看正在执行的请求的整个响应。我通常使用 dict 属性,它的工作频率很高
print(response.__dict__)
在完成这些操作后,响应对象中有一个_content字段,其中包含文件字节。然后,您可以简单地使用io模块来读取此文件:
file = io.BytesIO(response._content)
然后可以将其用作文件,就像执行open()函数一样