Ber*_*ala 5 python debugging pylint
我经常忘记在格式化字符串前加上“f”前缀。
一个错误的例子: text = "results is {result}"
它应该在哪里 text = f"results is {result}"
我经常犯这个错误;我的IDE没有报告它,并且程序运行没有异常。
我想也许扫描我的源代码中是否有带引号的字符串,检查 {,} 字符,并搜索它是否缺少前缀“f”文字;
但我想,使用解析器更好?或者也许有人已经这样做了?
问题是这text = "results is {result}"是一个有效的模板字符串,因此您稍后可以在程序中使用它,例如:
>>> text.format(result=1)
'results is 1'
>>> text.format(result=3)
'results is 3'
Run Code Online (Sandbox Code Playgroud)
您可以实现的只是检查 an 是否f-string确实在内部使用了变量,例如pylintandflake8已经这样做了。
然而,对于你所寻求的,PyLint 发生了一些事情: 这个问题已经有 3 年历史了,但这正是你所需要的,最近 - 三天前 - 一个用户提交了一个当前处于 WIP 的拉取请求,并且应该解决你的问题。