У меня возникла следующая проблема: КОД А сейчас работает .. Я локально сохраняю файл png с именем chart.png, а затем загружаю его в проприетарную функцию (к которой у меня нет доступа).
Однако в КОДЕ B я пытаюсь использовать cStringIO.StringIO (), чтобы мне не приходилось записывать файл "chart.png" на диск. Но я не могу найти способ передать его в ppprietaryfunction, потому что он ожидает реального имени файла, например «chart.png» (похоже, он даже использует функцию split для определения расширения).
КОД А (код работает прямо сейчас):
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 () прозрачным для проприетарной функции? В любом случае я могу эмулировать виртуальную файловую систему в памяти для этого?