Pet*_*tri 2 python bytesio python-3.x
在 OSX 上的 Python 3.5.1 上运行:
import io
b = io.BytesIO()
b.write(b'222')
print(b.getvalue())
b.truncate(0)
b.write(b'222')
print(b.getvalue())
Run Code Online (Sandbox Code Playgroud)
产生:
b'222'
b'\x00\x00\x00222'
Run Code Online (Sandbox Code Playgroud)
所以截断以BytesIO某种方式导致它开始在开头插入额外的零字节?为什么?
truncate不移动文件指针。所以下一个字节被写入下一个位置。您还必须寻求开始:
b.seek(0)
b.truncate()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1420 次 |
| 最近记录: |