如何检查Python中的编译错误?

14 投票
3 回答
18528 浏览
提问于 2025-04-15 18:21
#!/usr/bin/python  
str = "this"  
if(1):  
  print "Hi"  
else:  
  print str.any_random_function()  

我运行这个程序的时候并没有出错。我试过用py_compile,但它也没有在else循环中指出错误。那么,我该怎么做才能在Python代码中编译程序并可靠地检测错误呢?

3 个回答

0

首先,我们定义了一个空的字符串叫做 result_str,这个字符串用来存放我们要输出的内容。
接着,我们用一个循环来遍历从0到6的行数,也就是总共7行。
在每一行里,我们又用一个循环来遍历从0到6的列数,总共7列。
然后,我们检查当前的列数是否是1或5,或者当前行是2并且列是2或4,或者当前行是3并且列是3。
如果满足这些条件,我们就在 result_str 里加上一个星号和一个空格(也就是 * )。
如果不满足条件,我们就在 result_str 里加上两个空格。
每完成一行的处理后,我们还会在 result_str 里加上一个换行符,这样下一行就会另起一行。
最后,我们把 result_str 打印出来,这样就能看到我们构建的图形了。

4

Python是一种动态语言,所以你不能像在静态语言(比如C/C++/Java)中那样简单地检查编译错误。如果你写了str.any_random_function,这段代码在Python中是可以通过的(虽然这个例子不太好...)。

我建议你使用Eclipse的PyDev插件,它可以自动发现你代码中的许多常见问题,比如缺少的函数或模块等等。它还支持pylint(这是可选的)。

9

我觉得你最好的选择是 pylint

撰写回答