我在Python中收到很多这样的警告:
DeprecationWarning: invalid escape sequence \A
orcid_regex = '\A[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]\Z'
DeprecationWarning: invalid escape sequence \/
AUTH_TOKEN_PATH_PATTERN = '^\/api\/groups'
DeprecationWarning: invalid escape sequence \
"""
DeprecationWarning: invalid escape sequence \.
DOI_PATTERN = re.compile('(https?://(dx\.)?doi\.org/)?10\.[0-9]{4,}[.0-9]*/.*')
<unknown>:20: DeprecationWarning: invalid escape sequence \(
<unknown>:21: DeprecationWarning: invalid escape sequence \(
它们是什么意思?我该怎么解决呢?
^{} is the escape character in Python string literals 。
例如,如果要将制表符放在字符串中,可以执行以下操作:
如果要在字符串中放入文本
\
,则必须使用\\
:或者使用“原始字符串”:
你不能在任何时候想用反斜杠来表示字符串。如果反斜杠后面没有一个有效的转义序列和newer versions of Python print a deprecation warning,则反斜杠无效。例如
\A
不是转义序列:如果反斜杠序列与Python的某个转义序列意外匹配,但不是故意的,那就更糟了。
因此,您应该始终使用原始字符串或
\\
。重要的是要记住一个字符串文本仍然是一个字符串文本,即使该字符串是作为正则表达式使用的。Python's regular expression syntax支持许多以
\
开头的特殊序列。例如,\A
匹配字符串的开头。但是\A
在Python字符串文本中无效!这是无效的:相反,你应该这样做:
Docstrings是另一个需要记住的:Docstrings也是字符串文本,无效的
\
序列在Docstrings中也是无效的!如果文档字符串包含\
,请对其使用原始字符串(r"""..."""
)相关问题 更多 >
编程相关推荐