我遇到了以下问题:代码 A 现在可以工作。我在本地保存一个名为 Chart.png 的 png 文件,然后将其加载到专有函数中(我无权访问该函数)。
但是,在代码 B 中,我尝试使用 cStringIO.StringIO(),这样我就不必将文件“chart.png”写入磁盘。但我找不到将其传递给 pproprietaryfunction 的方法,因为它需要一个像“chart.png”这样的真实文件名(看起来它甚至使用 split 函数来识别扩展名)。
代码A(代码正在运行):
file = "chart.png"
pylab.savefig(file, format='png')
a = proprietaryfunction.add(file)
代码 B(我正在尝试做的事情 - 但不起作用):
file = cStringIO.StringIO()
pylab.savefig(file, format='png')
a = proprietaryfunction.add(file)
如何使 cStringIO.StringIO() 的使用对专有函数透明?无论如何,我可以为此在内存中模拟虚拟文件系统吗?
最佳答案
可能不会,但总有 tempfile如果您需要一个“干净”的解决方法...
关于python - 如何使 cStringIO 对另一个需要真实本地文件的函数透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3917902/