程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

如何停止将回车符添加到Python的文件输出中?

发布于2019-11-19 21:44     阅读(571)     评论(0)     点赞(4)     收藏(0)


我正在尝试解析BMP文件,进行一些更改,然后使用Python重新组装一个新的BMP。

回车似乎是一个巨大的问题。当我使用Notepad ++打开位图文件并搜索时"\r',该字符不存在。我在Python中读取了文件(readData = fileIn.read()),然后尝试使用return readData.find('\r')返回进行搜索-1搜索"\n"工作正常。现在一切都很好。

当我尝试使用完全相同的文本块将其写入新的BMP fileOut.write(readData)并使用Notepad ++进行搜索时"\r",我能够找到它(两次,每个对应于先前存在的"\n"字符)。

有没有一种方法可以将此数据块写入新的BMP中而不"\r"自动添加?在将其写入新文件之前,我曾尝试将.strip()and .replace('\r','')应用于字符串。


解决方案


当您想以二进制形式打开文件时,可能会以文本形式打开文件(默认设置)。

open("example.bmp", "rb") # to [r]ead as [b]inary
open("example.bmp", "wb") # to [w]rite as [b]inary

文档中

默认设置为使用文本模式,该模式可以'\n'在书写时字符转换为特定于平台的表示形式,并在阅读时转换为特定平台的表示形式。因此,在打开二进制文件时,您应该附加'b'模式值以二进制模式打开文件,这将提高可移植性。



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/161796/fc6f512d1a59cc7f046b/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)