• py 与 pyc 文件


    本文要说明的问题

    • 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
    
  • 相关阅读:
    Cocos Creator 功能介绍
    Cocos Creator 功能介绍
    Cocos Creator打包发布
    Cocos CreatorUI系统下
    Web前端开发工具和环境清单
    Web前端开发工具和环境清单
    Cocos CreatorUI系统上
    Cocos Creator开发hello World
    前端微信小程序电影类仿淘票票微信小程序
    前端微信小程序电影类仿淘票票微信小程序
  • 原文地址:https://www.cnblogs.com/jay54520/p/8421182.html
Copyright © 2020-2023  润新知