在向python写入长字符串(长度约为500000个字符,字符集:{},[],a~z,0~9)时出现一个很有意思的问题。python代码如下:
fp = open('output.txt', 'w') for obj in objs: line = json.dumps(obj) fp.write(line + '\n') fp.close()
其中,obj是形如:{'id': xxx, 'list': xxx}
这样的字典。
如果写入的字符串很长(字符串长度在200K~500K之间),就会出现不换行的问题,在每个line字符串之后会显示^J,而且并没有换行。如下图所示:
但是如果line字符串的长度较短(0~100)时换行就是正常的。
^J 就是换行符
http://www.robelle.com/smugbook/ascii.html