如何从URL直接在命令行打印图片?Terminal Image仅支持本地文件
直接从URL在命令行打印图片的方法
不用非得先把图片保存到本地,可以通过内存中处理图片二进制数据的方式实现,以Python为例,结合requests和你提到的Terminal Image库就能做到:
- 先通过
requests请求图片URL,获取二进制内容 - 用
BytesIO把二进制内容包装成类文件对象,模拟本地文件的操作接口 - 直接将这个类文件对象传给Terminal Image库的打印方法
示例代码:
import requests from terminal_image import draw from io import BytesIO # 替换为你的目标图片URL target_url = "https://example.com/image.jpg" # 获取图片二进制数据 resp = requests.get(target_url) if resp.status_code == 200: # 用BytesIO在内存中创建类文件对象 img_buffer = BytesIO(resp.content) # 直接传入Terminal Image打印 draw(img_buffer)
原理是Terminal Image库本质上只需要能读取图片数据的文件类对象,不一定是本地磁盘文件,内存中的类文件对象同样可以被识别处理。
如果用其他编程语言,核心思路也是一致的:先拉取图片的二进制数据,再通过语言自带的内存流工具包装后,传给支持流输入的终端图片渲染库。
内容的提问来源于stack exchange,提问作者lispquestions
相关产品推荐
相关产品推荐

