写入文件时出现0A十六进制错误?
我遇到一个小问题:
为什么这段代码
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'
。