擅长:python、mysql、java
<p>静态分析工具,如<code>pyflakes</code>或<code>pylint</code>可以用来捕捉这样愚蠢的错误</p>
<p>如果您在函数中编写了大量代码(因此它不假定<code>blub</code>是一个全局变量,这不会使pyflakes/pylint抱怨):</p>
<pre><code>def main():
if len(argv) == 2:
blub = argv[1]
else:
print "no argument given - stopping now"
exit(1)
conn = define_db()
cursor = conn.cursor()
write_db(conn,cursor,fni)
if __name__ == "__main__":
main()
</code></pre>
<p>…然后您将得到一对错误,它准确地指出错误是什么(您将参数存储在<code>blub</code>中,但尝试使用<code>fni</code>访问它):</p>
^{pr2}$