相关疑难解决方法(0)

__str__和__repr__之间的区别?

之间有什么区别__str____repr____str__

python repr magic-methods

2545
推荐指数
21
解决办法
61万
查看次数

如何同时满足“[FLAKE8 W605]无效转义序列'\.'”和字符串格式?

我在 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}字符串类型而不是传入的变量。

有谁知道如何解决这个困境?

python regex flake8

10
推荐指数
1
解决办法
2万
查看次数

将 f 字符串与要在正则表达式中使用的原始字符串组合会产生 SyntaxError;ValueError 或错误结果

我这里有一个字符串:

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_,它可能包含 到 之间的任何26。我想根据 的值将正则表达式从 更改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)

python regex python-3.x f-string python-3.7

4
推荐指数
1
解决办法
2701
查看次数

标签 统计

python ×3

regex ×2

f-string ×1

flake8 ×1

magic-methods ×1

python-3.7 ×1

python-3.x ×1

repr ×1