我猜这是一个Python新手问题,那么如何将单个字节(在这种情况下为零)写入文件呢?
这是我的代码:
f = open("data.dat", "wb")
f.write(0)
f.close()
但在写入行上,会出现以下错误:
TypeError:需要字节类似对象而不是'int'
我猜我需要用字节文字替换0,但无法弄清楚语法。 我所有的搜索都告诉我关于将字符串转换为字节。 我尝试了 0B
,但没有起作用。
我猜这是一个Python新手问题,那么如何将单个字节(在这种情况下为零)写入文件呢?
这是我的代码:
f = open("data.dat", "wb")
f.write(0)
f.close()
但在写入行上,会出现以下错误:
TypeError:需要字节类似对象而不是'int'
我猜我需要用字节文字替换0,但无法弄清楚语法。 我所有的搜索都告诉我关于将字符串转换为字节。 我尝试了 0B
,但没有起作用。
0
。 这是Python对象。f.write(b'\0')
。
b'\0'
缩写为b'\x00'
。你最好用以下方式将 int 转换为 byte:
b = bytes([0])
或者,您最好使用struct库:
https://docs.python.org/2/library/struct.html
你可以看一下在Python 3中将整数转换为字节
'\0'
)和Python 3(b'\0'
)都有字节文字。 (Python 2 称之为类型str
,但解决字符串与字节的二分法是Python 3的主要目标之一。) - chepner