views:

32

answers:

1

Hello everybody! I came up with the following problem: CODE A works right now.. I am saving a png file called chart.png locally, and then I am loading it into the proprietary function (which I do not have access).

However, in CODE B, am trying to use cStringIO.StringIO() so that I do not have to write the file "chart.png" to the disk. But I cannot find a way to pass it to the pproprietaryfunction because it is expecting a real filename like "chart.png" (it looks like it even uses the split function to identify the extension).

CODE A (code running right now):

file = "chart.png"
pylab.savefig(file, format='png')
 a = proprietaryfunction.add(file)

CODE B (what I am trying to do - and does not work):

file = cStringIO.StringIO()
pylab.savefig(file, format='png')
 a = proprietaryfunction.add(file)

How can I make the use of cStringIO.StringIO() transparent to the proprietary function? Is there anyway that I can emulate a virtual file system in memory for this?

+2  A: 

Probably not, but there's always tempfile if you need a "clean" workaround...

Steven
@John Machin: thanks for cleaning up my typo ;-)
Steven