Python 中歧义缩进的检测


缩进是 Python 语法的一个重要特性。函数、类或循环中的代码块需要遵循相同的缩进级别。Python 标准库中的 tabnanny 模块能够检测此规定中的任何违规行为。

此模块主要用于命令行模式,并使用 –m 开关。但是,它也可以在解释器会话中导入。

命令行用法

python –m tabnanny –q example.py

对于详细输出,请使用 –v 开关

python –m tabnanny –v example.py

以下函数在 tabnanny 模块中定义,用于以编程方式检查缩进。

check()

此函数检查给定文件中缩进不明确的行。您还可以传递目录作为参数。它将递归检查其中的所有文件。

Learn Python in-depth with real-world projects through our Python certification course. Enroll and become a certified expert to boost your career.

示例

import tabnanny
tabnanny.check('example.py')

tabnanny.verbose − 此标志指示是否打印详细消息。如果作为脚本调用,则 -v 选项会递增它。

tabnanny.filename_only − 此标志指示是否仅打印包含与空白相关的问题的文件的名称。如果作为脚本调用,则 -q 选项将其设置为 true。

process_tokens() −

此函数由 check() 用于处理 tokenize 模块生成的标记。如果检测到缩进不明确,此函数会引发 NannyNag 异常。它在 check() 中捕获并处理。

更新于: 2020-06-30

485 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告