Change IPython working directory Inserting image into IPython notebook markdown
嗨,我已经阅读了上面的两个链接,第二个链接似乎最相关。这个人描述的内容 - 简单地调用子目录 - 对我来说不起作用。例如,我在'/Graphs/gephi.png'中有一个图像'gephi.png' 但是当我写下面的内容时
from IPython.display import Image
path = "/Graphs/gephi.png"
i = Image(path)
i
没有图像弹出 - 是的。没错。除了空的方框图像外,什么都没有弹出。
澄清: 当我将图像移动到常规导演时,图像弹出正常。 我唯一的代码更改是path =“gephi.png”
答案 0 :(得分:1)
IPython的图像显示对象有三种参数
第一个是原始图像数据(例如open(filename).read()
的结果:
with open("Graphs/graph.png") as f:
data = f.read()
Image(data=data)
第二个模型是从文件名加载图像。这在功能上与上面相同,但是IPython从文件中读取:
Image(filename="Graphs/graph.png")
第三种形式是传递URL。可以使用外部URL,但相对URI将提供相对于笔记本自己的目录的文件:
Image(url="Graphs/graph.png")
如果你不告诉IPython你指定了哪一个,并且你只是在位置上传递一个参数,那么这可能会让人感到困惑:
Image("Graphs/graph.png")
IPython尝试猜测你在这种情况下的意思:
#3是最混乱的根源。如果你传递一个不存在的文件名, 你会得到一个破碎的图像:
Image("/Graphs/graph.png")
请注意,本地文件的URL必须是相对的。绝对网址通常是错误的:
Image(url="/Graphs/graph.png")
An example notebook说明了这些事情。