在python中,字符串前加r表示raw string,但r'\'
却出错:SyntaxError: EOL while scanning string literal
。
虽然是个很无聊的问题。。。但是为什么?
在python中,字符串前加r表示raw string,但r'\'
却出错:SyntaxError: EOL while scanning string literal
。
虽然是个很无聊的问题。。。但是为什么?
原因是\
可以分割长字符串
In[2]: test = r'11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 \
111111111111111111111111111111111111111111111111111111111111111111111111111111'
In[3]: print test
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 111111111111111111111111111111111111111111111111111111111111111111111111111111
所以要用"\\"
不然Python的解释器认为你的结尾的\
还没有结束 他还等着下一行的内容呢
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
这些问题官方文档里都有解答的: Why can’t raw strings (r-strings) end with a backslash?
@aristotll 你观察到的行为是错误的,请向 ipython 报告 bug。