首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历单个字节,然后将其保存到文件中,而不交替内容。

遍历单个字节,然后将其保存到文件中,而不交替内容。
EN

Stack Overflow用户
提问于 2021-02-19 03:06:20
回答 1查看 143关注 0票数 1

我有一个从API返回的字节字符串,并存储在response.content中。

使用小的内容,我可以使用下面的代码将它保存到一个没有问题的文件中

代码语言:javascript
复制
with open(save_path, 'wb') as save_file:
    save_file.write(response.content)

但是对于较大的文件,它将导致内存错误,因此我尝试不使用以下代码一次性读取内容。

代码语言:javascript
复制
with open(save_path, 'wb') as save_file:
    for x in response.content: 
        save_file.write(bytes(x)) #the x from iteration seem to be converted to int so I convert it back

但是上面的方法似乎替代了内容,因为它不再与另一个库兼容(在我的Laspy尝试读取保存的文件时,laspy.util.LaspyException: Invalid format: h0.0错误出现了)

我该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-19 03:51:05

我看到你在使用bytes(x)时遇到的问题。将其改为x.to_bytes(1, 'big')解决您的问题

使用下面的代码显示有什么不同

代码语言:javascript
复制
a = b'\xcf\x84o\xcf\x81\xce\xbdo\xcf\x82'
a.decode('utf-8') # τoρνoς

with open('./save.txt', 'wb') as save_file:
    for i in a:
        print(i.to_bytes(1, 'big')) # write it to file, not the others
        print(i)
        print(bytes(i))
        print('----')

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66271219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档