【问题标题】:Python variables and filesPython 变量和文件
【发布时间】:2012-04-28 19:12:41
【问题描述】:

有什么方法可以让我将文件视为变量? 例如,当调用 PIL Image 模块中的函数 save 时:Image.save("foo.jpg") 我希望所有数据不保存在硬盘上,而是引入变量a,这样当a.read() 被调用,它应该返回文件的内容。

【问题讨论】:

    标签: python file variables


    【解决方案1】:

    您可以使用BytesIO 类将 PIL 图像保存到字节流中。

    >>> from PIL import Image
    >>> im = Image.open('ball.png')
    >>> from io import BytesIO
    >>> buffer = BytesIO()
    >>> im.save(buffer, format='png')
    >>> buffer.getvalue()
    '\x89PNG\r\n\x1a\n\x00\ ... 
    

    整个io module page 可能值得一读,它很短,有很多很好的信息,包含 ch3ka 指出的 StringIO。

    【讨论】:

    • 感谢您的回答,它有效,但还有一个问题,'im.write' 的目的是什么?
    • 那是我忘记了正确的 Image 类方法来保存一点,我刚刚删除了:)
    【解决方案2】:

    当然,看看StringIO 模块。它为字符串提供了类似文件的接口。

    http://docs.python.org/library/stringio.html

    StringIO - File-like objects that read from or write to a string buffer.
    

    【讨论】:

      猜你喜欢
      • 2013-05-27
      • 2020-11-26
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      相关资源
      最近更新 更多