码迷,mamicode.com
首页 > 其他好文 > 详细

chr(10)、"\n"、"\\n"、r"\n" 你搞清楚了吗?

时间:2020-06-18 10:41:32      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:换行   python   int   不同   pre   str   不同的   nis   spl   

一些非常恐怖的接口不但不传json,还搞些奇奇怪怪的分隔符,比如:

每条记录用 Chr(10)分隔,每列用\n 分隔

chr(10)不就是换行符"\n"吗?这两者有什么区别?

实际拿到数据,print出来是这样的:

Avalue1\nAvalue2\nAvalue3
Bvalue1\nBvalue2\nBvalue3

在print()函数中,chr(10)会变成换行符,而r"\n"会变成\n

$ a = f"this\\nis{chr(10)}a\ntest\\nstring"
$ print(a)
this\nis
a
test\nstring

因此,这个接口是用换行符来分割每条记录的,但是每列是用"\n"这两个字符来分割的,在python里面应写作r"\n"或者"\\n"(忽略转义)

这两者是不同的东西

总结:chr(10)与"\n"是同一种东西,"\\n"r"\n"是同一种东西

>>> chr(10)=="\n"
True
>>> "\\n"=="\n"
False
>>> "\\n"==r"\n"
True
a = f"this\\nis{chr(10)}a\ntest\\nstring"
print(a.split(chr(10)))
# [‘this\\nis‘, ‘a‘, ‘test\\nstring‘]
print(a.split(‘\n‘))
# [‘this\\nis‘, ‘a‘, ‘test\\nstring‘]
print(a.split(‘\\n‘))
# [‘this‘, ‘is\na\ntest‘, ‘string‘]
print(a.split(r‘\n‘))
# [‘this‘, ‘is\na\ntest‘, ‘string‘]

chr(10)、"\n"、"\\n"、r"\n" 你搞清楚了吗?

标签:换行   python   int   不同   pre   str   不同的   nis   spl   

原文地址:https://www.cnblogs.com/luozx207/p/13156129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!