如何在VS Code中使用PIL打开GitHub存储的图片文件
你当前使用的
Image.open()方法仅支持读取本地存储的图片文件,直接传入网络地址/不存在的本地路径就会触发找不到文件的报错,该问题确实和工作目录设置存在关联。
场景1:访问本地存储的图片(解决工作目录问题)
- 第一步先确认VSCode当前运行代码的工作目录,在代码开头添加以下代码打印当前工作目录:
import os # 打印当前工作目录 print(os.getcwd())
- 路径匹配方案二选一即可:
- 把你要打开的
example.jpg文件放到上面打印出的目录下,直接用原代码的相对路径读取即可 - 直接写图片的绝对路径,比如Windows系统下写法为
Image.open('C:/Users/用户名/文件夹/example.jpg'),macOS/Linux系统下写法为Image.open('/home/用户名/文件夹/example.jpg'),绝对路径不受工作目录影响。
- 把你要打开的
场景2:直接读取GitHub上存储的网络图片(无需提前下载到本地)
需要先安装依赖库requests,在终端执行pip install requests安装后,使用以下代码读取:
from PIL import Image import requests from io import BytesIO # 替换为GitHub图片的原始文件直链(注意:不能用GitHub文件预览页地址,需要右键预览页的图片选「复制图片地址」) img_url = "你的GitHub图片直链" # 请求图片二进制流 res = requests.get(img_url) # 直接从流读取图片,无需保存本地 mac = Image.open(BytesIO(res.content)) print(type(mac)) mac.show()
内容的提问来源于stack exchange,提问作者abcdefg
相关产品推荐
相关产品推荐

