将Matplotlib中的多个.png图形输出到Python 3.4中的一个zip文件

将Matplotlib中的多个.png图形输出到Python 3.4中的一个zip文件,python,matplotlib,Python,Matplotlib,我编写了一个程序,使用Python中的MatPlotLib从CSV文件输出多个不同的饼图(超过60个)。我不认为我需要共享所有代码,但我有一个draw()函数来创建图形,它以以下内容结束: def draw(data): [make the graph] plt.savefig(filename) 此函数成功地使我的一个图形成为cwd中的.png文件。然后,我运行一个循环,为数据的每个部分创建一个饼图。代码如下: if __name__ == '__main__': d

我编写了一个程序,使用Python中的MatPlotLib从CSV文件输出多个不同的饼图(超过60个)。我不认为我需要共享所有代码,但我有一个
draw()
函数来创建图形,它以以下内容结束:

def draw(data):
    [make the graph]
    plt.savefig(filename)
此函数成功地使我的一个图形成为cwd中的.png文件。然后,我运行一个循环,为数据的每个部分创建一个饼图。代码如下:

if __name__ == '__main__':
    data = sys.argv[1]
    things = process(data) 
    for thing in things.values():
        draw(thing)

我想知道是否有任何Python包可以帮助我将所有60多个图形自动输出到一个zip文件。

当然,有一个标准模块,它可以压缩现有文件,也可以压缩一串字节。因此,如果您不想单独创建文件,然后压缩它们,您可以将它们保存到对象,然后压缩这些字节缓冲区。我已将您链接到Python 3文档,但这些功能在Python 2中也可用。

如果您想同时保存
png
zip
,可能出于调试目的,您可以使用以下操作:


似乎这个模块应该非常简单:
import zipfile

zf = zipfile.ZipFile('myzip.zip', mode='w')

zf.write('image1.png')
zf.write('image2.png')
# ...

zf.close()