【问题标题】:How to make cStringIO transparent to another function that expects a real local file如何使 cStringIO 对另一个需要真实本地文件的函数透明
【发布时间】:2010-10-12 18:41:01
【问题描述】:

我遇到了以下问题:CODE A 现在可以工作了。我正在本地保存一个名为 chart.png 的 png 文件,然后将其加载到专有函数中(我无权访问)。

但是,在代码 B 中,我尝试使用 cStringIO.StringIO(),这样我就不必将文件“chart.png”写入磁盘。但我找不到将它传递给专有函数的方法,因为它需要一个像“chart.png”这样的真实文件名(看起来它甚至使用拆分函数来识别扩展名)。

CODE 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() 的使用对专有功能透明?无论如何,我可以为此模拟内存中的虚拟文件系统吗?

【问题讨论】:

    标签: python matplotlib stringio


    【解决方案1】:

    可能不会,但如果您需要“干净”的解决方法,总有tempfile...

    【讨论】:

      猜你喜欢
      • 2016-05-13
      • 2013-03-26
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多