在python中检测歧义缩进

缩进是Python语法的重要功能。函数,类或循环中的代码块必须遵循相同的缩进级别以用于其中的语句。Python标准库中的tabnanny模块能够检测到此规定中的任何违规行为。

该模块主要用于带有-m开关的命令行模式。但是,它也可以在解释器会话中导入。

命令行用法

python –m tabnanny –q example.py

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

python –m tabnanny –v example.py

Tabnanny模块中定义了以下功能,用于以编程方式检查缩进。

check()

此函数检查给定文件中是否存在缩进的行。您还可以将目录作为参数传递。其中的所有文件将被递归检查。

示例

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

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

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

process_tokens()-

该函数用于check()处理由标记化模块生成的标记。如果检测到模糊缩进,此函数将引发NannyNag异常。它是在中捕获和处理的check()