Python编译文件(.pyc)即使在代码错误后生成 - 为什么?

时间:2016-08-26 19:06:00

标签: python python-2.7 compilation

我在 a1.py

文件中包含以下代码
fff
def test(arg):
        print 'sid'
        print arg
        print 'sid2'
test()

上面的代码包含2个错误:

  1. fff不存在,仍然被要求打印

  2. 参数未在test()

  3. 中传递

    现在我写了另一个文件 b1.py 在该文件中,代码为:

    import a1
    print 'b1 execution done'
    

    Que 1:我执行了b1.py并生成了a1.pyc文件。为什么?有一个语法错误.pyc文件不应该生成?

    Que2:用非专业术语解释什么是pyc文件以及它起什么作用?

    Que3:为什么即使a1.py有错误也会生成pyc文件?(例如,参数没有被传递)

1 个答案:

答案 0 :(得分:0)

在运行之前,Python会自动将脚本编译为已编译的代码,即所谓的字节代码。首次导入模块时,或者当源比当前编译文件更新时,通常会在与.py文件相同的目录中创建包含已编译代码的.pyc文件。