写入文件时出现0A十六进制错误?

1 投票
1 回答
1453 浏览
提问于 2025-04-16 06:54

我遇到一个小问题:

为什么这段代码

somefile = open('foo.txt', 'w')
somefile.write('0B0B0B'.decode('hex'))
somefile.close()

写入文件的是0B0B0B,而这段代码

somefile = open('foo.txt', 'w')
somefile.write('0A0A0A'.decode('hex'))
somefile.close()

写入文件的是0D0A0D0A0D0A?那个'0D'是从哪里来的呢?

1 个回答

9

这个问题是因为你在Windows系统上运行,所以把\n变成了\r\n。如果你想避免这种情况,可以以二进制模式打开文件,使用'wb'

撰写回答