回答

17

没有

当你运行python,第一步是转换成字节码,而这正是那些.pyc文件。评论已从这些删除,所以*并不重要。

如果使用-O-OO选项运行,python将生成“优化”pyo文件,如果速度更快,则文件速度可以忽略不计。主要的不同之处在于:

  • -O断言被删除,
  • -OO选项,__doc__字符串被剥离出来。鉴于有时需要这些,建议不要使用-OO运行。

*它已经指出,低于.pyc文件只保存模块。因此,每次运行时都必须重新编译顶层可执行文件。这一步可能减慢一个海量 python可执行文件。实际上,大多数代码应该驻留在模块中,这使得这不成问题。

+4

...所以它可能会影响你的*启动时间,但不会影响你的长期执行时间。特别是,如果一切都预编译到'.pyc'文件中,这是*一次*成本,而不是每次运行成本。 – larsks

+0

我怀疑它会明显影响启动时间,因为Python只是忽略#和换行符之间的任何内容。另外,如果.py文件未被修改,那么.pyc文件将在运行之间保留,因此任何影响仅在程序第一次运行时生效。 –

+0

-1,因为只有导入的模块被编译为.pyc;执行的脚本不是。 – geoffspear