python - 将二进制数据视为文件对象?

标签 python file-io

在这个代码片段(由另一个人编写)中,self.archive 是一个大文件的路径,raw_file 是作为二进制数据读取的文件内容.

with open(self.archive, "rb") as f:
    f.seek(offset)
    raw_file = start + f.read(dlen - len(start))
    ...
    f.write(raw_file)

此存档文件包含存储的图像文件,我想访问它们 pygame.image.load,这需要一个 File 对象。但是我需要做一些类似 pygame.image.load(toVirtualFileObject(raw_file)) 的事情(即访问这个归档文件的内容作为 File 对象而不先写入磁盘)。

这可以做到吗?

最佳答案

这就是StringIO (在 Python 2 中)和 io.BytesIO in(在 Python 3 中)是为了。

关于python - 将二进制数据视为文件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16007412/

相关文章:

python - 用条件标准化 Pandas 系列

cocoa - 写入URL : error handling

Java - 随机读取行

java - 使用扫描仪读取csv时如何不读取标题行?

python - 由于索引,两个 Pandas 系列相乘会产生 NaN 条目

python - 如何在具有通用浮点类型的cython中声明一个ndarray

java - 自动选择文件 I/O 的缓冲区大小

java - 我可以用 Java 写入 5GB 文件的末尾吗?

python - python中面向对象的构造等价于什么?

python - 使用 psycopg2 和 python 3.4 将数据从 csv 插入到 postgres 表