117得票3回答
在内存中写入并读取字节(BytesIO),结果为空白

我想尝试一下 Python 的 BytesIO 类。作为一个实验,我尝试将数据写入内存中的 zip 文件,然后从该 zip 文件中读取字节。因此,我将gzip函数中的文件对象更改为 BytesIO 对象。以下是整个脚本:from io import BytesIO import gzip #...

80得票4回答
在Python3.6中如何将'_io.BytesIO'转换为类似于bytes的对象?

如果HTTP响应体使用gzip、compress或deflate进行了压缩,我将使用此函数来解压缩它。def uncompress_body(self, compression_type, body): if compression_type == 'gzip' or compress...

52得票7回答
PIL无法识别io.BytesIO对象的图像文件

我正在使用Pillow的分支来代替PIL,在打开图像时不断收到以下错误信息: OSError: 无法识别图像文件 <_io.BytesIO object at 0x103a47468> 我正在使用Python 3.4和没有安装PIL的virtualenv。 我已经尝试根据其...

40得票3回答
Python io.BytesIO的write()、read()和getvalue()方法是如何工作的?

我试图理解 io.BytesIO 的 write() 和 read() 方法。我的理解是,我可以像使用文件对象一样使用 io.BytesIO。import io in_memory = io.BytesIO(b'hello') print( in_memory.read() ) 上面的代码将如...

32得票1回答
对StringIO、cStringIO和ByteIO感到困惑

我已经在谷歌和SO上搜索了这些缓冲模块的区别。但是,我仍然不太理解,而且我认为我读到的一些帖子已经过时了。 在Python 2.7.11中,我使用r = requests.get(url)下载了一个特定格式的二进制文件。然后,我将StringIO.StringIO(r.content)、cS...

29得票1回答
使用Python将文件转换为BytesIO对象

我有一个文件,想将其转换为 BytesIO 对象,以便将其存储在数据库的 varbinary 列中。 请问有人能帮我使用Python进行转换吗? 以下是我的代码:f = open(filepath, "rb") print(f.read()) myBytesIO = io.BytesIO...

26得票1回答
在Python3中,向io.BytesIO写入csv文件失败

我正在尝试编写适用于Python 2/3的兼容代码,以将字符串写入CSV文件对象。此代码:line_as_list = [line.encode() for line in line_as_list] writer_file = io.BytesIO() writer = csv.write...

24得票2回答
将 BytesIO 对象“高效地”写入文件

将BytesIO对象快速写入文件的方法是使用:with open('myfile.ext', 'wb') as f: f.write(myBytesIOObj.getvalue()) myBytesIOObj.close() 不过,如果我想迭代myBytesIOObj而不是一次性写入,...

22得票3回答
将Pandas DataFrame转换为类似字节的对象

嗨,我正在尝试将我的df转换为二进制并存储在一个变量中。 我的df: df = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]}) 我的代码: import io towrite = io.BytesIO() df.to_excel(towrite) # wr...

17得票2回答
什么时候应该使用 BytesIO.getvalue() 而不是 .getbuffer()?

根据 BytesIO 文档: getbuffer() 返回一个可读写的视图,而不需要复制缓冲区的内容。同时,更改视图将透明地更新缓冲区的内容: getvalue() 返回包含整个缓冲区内容的字节。 看起来似乎 `getbuffer` 更加复杂。但是如果...