gpt4 book ai didi

python - 在python代码中查找除法运算符的所有用法

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:05 25 4
gpt4 key购买 nike

我想在我的 python 代码中找到所有使用除法运算符 / 的实例。我的第一直觉是使用正则表达式。表达式需要过滤掉/的非分割使用,即路径名。我想到的最好的方法是 [ A-z0-9_\)]/[ A-z0-9_\(]。这会在

中找到除法运算符
foo/bar
foo / bar
foo/(bar*baz)
foo / 10
1/2
etc...

但也会匹配 / 之类的 "path/to/my/file"

谁能想出更好的正则表达式?或者,是否有非正则表达式的方法来查找除法?

编辑:澄清:

我不一定需要使用 python 来执行此操作。我只想知道部门运算符(operator)的位置,以便我可以手动/目视检查它们。我可以忽略注释代码

最佳答案

您可以使用 ast 模块将您的 Python 代码解析为抽象语法树,然后遍历树以找到出现除法表达式的行号。

example = """c = 50
b = 100
a = c / b
print(a)
print(a * 50)
print(a / 2)
print("hello")"""

import ast
tree = ast.parse(example)
last_lineno = None
for node in ast.walk(tree):
# Not all nodes in the AST have line numbers, remember latest one
if hasattr(node, "lineno"):
last_lineno = node.lineno

# If this is a division expression, then show the latest line number
if isinstance(node, ast.Div):
print(last_lineno)

关于python - 在python代码中查找除法运算符的所有用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54149719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com