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从文件中获取数据并将其存储在内存中一样。然后,您可以像从文件中打开数据一样处理数据