之间有什么区别__str__和__repr__在__str__?
我在 python 中有一个问题。我原来的正则表达式是:
f"regex(metrics_api_failure\.prod\.[\w_]+\.{method_name}\.\d+\.\d+\.[\w_]+\.[\w_]+\.sum\.60)"
Run Code Online (Sandbox Code Playgroud)
(method_name是一个局部变量),我收到了 lint 警告:
"[FLAKE8 W605] invalid escape sequence '\.'Arc(W605)"
Run Code Online (Sandbox Code Playgroud)
这看起来建议我使用r作为正则表达式前缀。但如果我这样做:
r"regex(metrics_api_failure\.prod\.[\w_]+\.{method_name}\.\d+\.\d+\.[\w_]+\.[\w_]+\.sum\.60)"
Run Code Online (Sandbox Code Playgroud)
成为{method_name}字符串类型而不是传入的变量。
有谁知道如何解决这个困境?
我这里有一个字符串:
s0 = 'Ready1 Origin1 Destination1 Type1 Rate1 Phone1 # Pro1 #'
Run Code Online (Sandbox Code Playgroud)
以下变量的计算如下:
is_head = len([i.group() for i in re.finditer(r"(\s+){2,}", s0)]) >= 3
Run Code Online (Sandbox Code Playgroud)
这给了我True对我来说正确且预期的结果。现在我有另一个变量cont_,它可能包含 到 之间的任何2值6。我想根据 的值将正则表达式从 更改r"(\s+){2,}"为。我想获取变量而不为每种情况声明单独的正则表达式。为此,我需要使用 f 字符串以及当前用于正则表达式检查的原始字符串。我已经尝试过这些:r"(\s+){6,}"cont_is_head
>>> len([i.group() for i in re.finditer(fr"(\s+){{cont_},}", s0)]) >= 3
File "<stdin>", line 1
SyntaxError: f-string: single '}' is not allowed
>>> len([i.group() for i in re.finditer(rf"(\s+){{cont_},}", s0)]) >= 3
File "<stdin>", line 1
SyntaxError: f-string: single '}' …Run Code Online (Sandbox Code Playgroud)