Python 是一种解释型语言。在开发中,没有编译链接。大多数脚本语言都是解释性语言。
没有编译这个环节,在开发过程中,不可能知道自己写的代码的语法正确性,只有实际执行代码才能知道语法是否正确。这对于有效的错误检查是不方便的。
于是出现了开源项目pyflakes,专门用于python程序的早期错误检查。
使用起来很简单,先用pip安装(pip install --upgrade pyflakes),然后用这个命令(pyflakes xxx.py)检查xxx.py文件中的错误。
下面是几个例子:
例1:
python代码(xxx.py文件中)
import os
for i in range(10)
print(i)
执行pyflakes xxx.py输出的结果
main1.py:3:19: invalid syntax
for i in range(10)
^
分析:
-
根据提示,在代码的第三行,语法错误
-
经检查,是for中少写了一个冒号
例2
:
python代码(xxx.py文件中)
import os
import time
import sys,os
for i in range(10):
print(i)
执行pyflakes xxx.py输出的结果
main2.py:2: 'time' imported but unused
main2.py:3: redefinition of unused 'os' from line 1
main2.py:3: 'os' imported but unused
main2.py:3: 'sys' imported but unused
分析:
-
代码第2行中,导入的time模块并未使用
-
代码第3行中的os多次导入(跟第1行重复)
例3:
python代码
for i in range(10):
print(x)
执行pyflakes xxx.py输出的结果
main3.py:2: undefined name 'x'
分析
-
代码第2行,x并未定义
- 这是一个严重的错误,有时会发现变量名打错了
总结
本例中的错误,实际代码运行时,如果达不到这个逻辑,操作不会报错。这留下了一个难以检测的严重错误。但是使用pyflakes,这些问题可以很快被发现。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中创建平衡二叉树10/15
- ♥ python3 os退出报错是什么原因?01/09
- ♥ 如何在python中验证文件是否存在01/08
- ♥ python如何执行.py文件10/17
- ♥ 如何写一个让python输错3次的函数12/26
- ♥ 如何在python中表示集合10/03
内容反馈