我有一個Python腳本,其具有用這種方法定義的類:Python的錯誤控制檯,但不是在文件:續行符之後意外的字符
@staticmethod
def _sanitized_test_name(orig_name):
return re.sub(r'[`‘’\"]*', '', re.sub(r'[\r\n\/\:\?\<\>\|\*\%]*', '', orig_name.encode('utf-8')))
我能夠從運行該腳本命令提示符就好了,沒有任何問題。但是,當我粘貼在控制檯中滿級的代碼,我得到SyntaxError: unexpected character after line continuation character
:
>>> return re.sub(r'[`‘’\"]*', '', re.sub(r'[\r\n\/\:\?\<\>\|\*\%]*', '', orig_name.encode('utf-8')))
File "<stdin>", line 1
return re.sub(r'[``'\"]*', '', re.sub(r'[\r\n\/\:\?\<\>\|\*\%]*', '', orig_name.encode('utf-8')))
^
SyntaxError: unexpected character after line continuation character
如果我跳過的方法,同時粘貼,它的工作原理。請注意,我的原始線路和錯誤顯示內容有所不同:r'[`‘’\"]*'
vs r'[``'"]*'
。用ur'[`‘’"]*'
代替SyntaxError: EOL while scanning string literal
。
看來Python的控制檯看到‘
,作爲一個程式化`
(反引號)和’
作爲sytlised '
(單引號)。當我的意思是unicode open and close quotes。我的腳本頂部有# -*- coding: utf-8 -*-
,我也將其粘貼到控制檯中。