如何避免memory_graph的show()方法在第一个PDF文件处停止?
如何避免memory_graph的show()方法在第一个PDF文件处停止?
我太懂你这个困扰了——用mg.render()的时候能顺顺利利生成mutable1.png和mutable2.png两个文件,结果换成mg.show()方法,PDF阅读器直接卡在第一个生成的PDF文件,完全没法正常显示第二次更新后的内容,简直离谱对吧?
其实问题出在你用的PDF阅读器身上!比如你之前用的Adobe Acrobat Reader,它有个文件锁定机制:一旦打开某个PDF,就会把这个文件“占住”,阻止程序对它进行更新或者覆盖操作。这样当你第二次调用mg.show()时,新的PDF内容根本没法写入被锁定的文件,自然就卡在第一个PDF那里动不了了。
解决方法超简单,换个支持实时更新的PDF阅读器就行,比如Sumatra PDF。它不会锁定打开的PDF文件,当memory_graph生成新的PDF内容时,阅读器会自动刷新显示最新的内存结构,你连续调用两次mg.show()就能正常看到每次的变化了。
给你贴个测试代码方便对照:
import memory_graph as mg a = [4, 3, 2] b = a mg.show(locals()) b += [1] mg.show(locals())
内容来源于stack exchange
相关产品推荐
相关产品推荐

