Python“;wb";写入模式将0x0A添加到文件

Python“;wb";写入模式将0x0A添加到文件,python,Python,我试图将32字节的二进制数据写入一个文件,但添加了一个额外的字节 wb模式似乎不接受换行符参数,所以我不确定在这里该怎么做 str_ = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' with open('test.bin', 'wb') as f: f.write(s

我试图将32字节的二进制数据写入一个文件,但添加了一个额外的字节

wb
模式似乎不接受换行符参数,所以我不确定在这里该怎么做

str_ = b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'


with open('test.bin', 'wb') as f:
    f.write(str_)
您必须在十六进制编辑器中查看该文件,才能看到添加的额外字节。 VIM文件的十六进制视图:

为什么要写新行=“”

换行符(0A)和回车符(0D)

你能看见吗


希望有帮助

rstrip不起作用。我99%确定换行符字节是由
f.write()
添加的。当我看不到0a时,我如何帮助您?文件有32个字节,VIM显示33个字节。可能VIM仅在屏幕上显示时才添加此值。使用VIM前后文件的大小是多少?可能会找到不同的编辑器来检查文件或编写显示数据的脚本。
os.system('touch efuse.bin')
with open('efuse.bin', 'wb') as f:
    f.write(generateBinString())
c=b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
with open('efuse.bin', 'wb') as f:
    f.write(c.rstrip())

with open('efuse.bin', 'rb') as f:
    print(f.read())
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'