首页 > 其他 > 详细

py 与 pyc 文件

时间:2018-02-06 10:58:17      阅读:232      评论:0      收藏:0      [点我收藏+]

本文要说明的问题

  • pyc 文件是什么
  • pyc 文件的作用
  • py 与 pyc 文件冲突

pyc 文件是什么

当 py 文件加载后,py 文件被二进制编码成 pyc 文件。py 文件的修改时间被记录到 pyc 文件中。

这里的加载意味着要被其他模块导入,如果你只是运行 python filename.py,那么不会生成 pyc 文件。

pyc 文件的作用

pyc 文件是为了让加载 Python 模块更快,因为 pyc 相比 py 文件编译过程可以被跳过。

pyc 文件不能令执行更快。

py 与 pyc 文件冲突

py 文件的修改时间被记录到了 pyc 文件中,如果两者不匹配,Python 会忽略 pyc 文件,加载 py 文件然后编译出新的 pyc 文件。

这里的不匹配指的是 py 与 pyc 文件的修改时间不一致。

即使 pyc 文件记录的修改时间晚于 py 文件(pyc 文件更加新鲜),还是会进行上述流程。

以下是一个验证示例

$ date
Tue Feb  6 10:31:28 CST 2018

echo "print('Hello')" > hello.py

$ python
>>> import hello
Hello
>>> quit()

$ ls -l | grep hello
-rw-r--r--   1 jsm  staff       15 Feb  6 10:31 hello.py
-rw-r--r--   1 jsm  staff      110 Feb  6 10:32 hello.pyc

# 修改 hello.py 的修改时间
$ touch -mt 200801120000 hello.py

$ python
>>> import hello
Hello
>>> quit()

$ ls -l | grep hello
-rw-r--r--   1 jsm  staff       15 Jan 12  2008 hello.py
# 可以看出 hello.pyc 相比上面更新了
-rw-r--r--   1 jsm  staff      110 Feb  6 10:35 hello.pyc

py 与 pyc 文件

原文:https://www.cnblogs.com/jay54520/p/8421182.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!