gpt4 book ai didi

python - 查找 Python 代码中的所有浮点文字

转载 作者:行者123 更新时间:2023-12-01 06:14:23 25 4
gpt4 key购买 nike

我正在尝试查找 Python 代码中所有出现的文字浮点值。我可以用科莫多(或任何其他方式)做到这一点吗?

换句话说,我想找到使用 0.0 或 1.5 或 1e5 等内容的每一行,假设 Python 将其解释为浮点文字(例如,因此没有注释)。

我正在使用 Komodo 6.0 和 Python 3.1。

如果可能的话,找到字符串和整数文字的方法也很好。

最佳答案

我们的SD Source Code Search Engine (SCSE)可以轻松做到这一点。

SCSE 是一种通过索引感兴趣的源代码语言的元素来搜索大型源代码库的工具,比 grep 快得多。然后可以提出查询,使用索引来实现搜索命中的快速定位。查询和命中显示在 GUI 中,单击命中将显示包含该命中的源代码块。

SCSE 了解它所索引的每种语言的词法结构,其精度与该语言的编译器相同。 (它使用来自精确编程语言处理器系列的 front ends;这个系列相当大,并且恰好包括 OP 的目标语言 Python/Perl/Java/...)。因此,它确切地知道标识符、注释和文字(整数、 float 、字符或字符串)在哪里,以及它们的内容。

SCSE 查询由表示感兴趣的语言元素序列的命令组成。查询

'for' ... I '=' N=103

在任意标识符 (I) 附近(“...”)找到 for 关键字,该标识符使用数值(“N”)103 进行初始化(“=”)。因为 SCSE理解语言结构,它忽略标记之间的语言空白,例如,无论中间有空白、空白、换行符或注释,它都可以找到它。

查询标记 I、N、F、S、C 分别表示 I(标识符)、Natural(数字)、F(loat)、S(tring)和 C(注释)。因此,OP 最初的问题是找到所有的 float ,这是一个几乎微不足道的查询

F

类似地,查找所有字符串文字(“S”)和整数文字(“N”)。如果您只想查找 Pi 附近值的副本,您可以添加下限和上限约束:

F>3.14<3.16

(在大型 Fortran 代码上运行它非常有趣;你会看到 Pi 的各种糟糕的近似值)。

SCSE 不会在注释或字符串中找到 Float,因为它非常清楚其中的区别。编写一个 grep 风格的表达式来处理所有奇怪的组合以消除空格或周围的引号和注释分隔符显然应该要痛苦得多。 Grep 不是执行此操作的方法。

关于python - 查找 Python 代码中的所有浮点文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4092595/

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