Python 在本地http路径上读取图片
我想打开另一个程序输出的图片,如Python 在本地http路径上读取图片,python,http,path,Python,Http,Path,我想打开另一个程序输出的图片,如http://192.168.1.100:8123/pic/2021-03-31/snap/238371315.jpg 我遇到问题的代码是: def get_pic(data): img_path='http://192.168.1.100:8123/pic/2021-03-31/snap/238371315.jpg' pic={'image': open(img_path, mode='rb')} return pic 错误: Trac
http://192.168.1.100:8123/pic/2021-03-31/snap/238371315.jpg
我遇到问题的代码是:
def get_pic(data):
img_path='http://192.168.1.100:8123/pic/2021-03-31/snap/238371315.jpg'
pic={'image': open(img_path, mode='rb')}
return pic
错误:
Traceback (most recent call last):
File "c:\Users\USER\Desktop\linebot-client\client_script.py", line 144, in <module>
main()
File "c:\Users\USER\Desktop\linebot-client\client_script.py", line 134, in main
final_pic =get_pic(data1)
File "c:\Users\USER\Desktop\linebot-client\client_script.py", line 107, in get_pic
pic={'image': open(img_path, mode='rb')}
OSError: [Errno 22] Invalid argument: 'http://192.168.1.100:8123/pic/2021-04-01/snap/939450165.jpg'
回溯(最近一次呼叫最后一次):
文件“c:\Users\USER\Desktop\linebot client\client\u script.py”,第144行,在
main()
文件“c:\Users\USER\Desktop\linebot client\client\u script.py”,第134行,在main中
最终图片=获取图片(数据1)
文件“c:\Users\USER\Desktop\linebot client\client\u script.py”,第107行,在get\u pic中
pic={'image':打开(img_路径,mode='rb')}
OSError:[Errno 22]无效参数:'http://192.168.1.100:8123/pic/2021-04-01/snap/939450165.jpg'
有什么我可以更改的吗?open不接受URL。它表示,
文件是一个文本或字节字符串,给出了要打开的文件的名称(如果文件不在当前工作目录中,则给出了路径)
,如果您想从url获取数据,请使用类似requests
library的方法。因此,我必须先使用requests
将图片保存在计算机上,然后使用保存路径上的open
,对吗?requests不会将图片保存到计算机上,它会获取数据,您可以将其存储在内存中。就像open从文件中获取数据并将其存储在内存中一样。然后,您可以像从文件中打开数据一样处理数据