• py,pyc,pyw文件的区别和使用


    熟悉python编程的都知道,python三种最常见的py文件格式,.py,.pyc,.pyw,下面说一说它们各自的使用。

    py文件

    • python最常见的文件,是python项目的源码;

    • 文件执行时linux下调用python执行,windows下调用python.exe;

    • 如果在终端窗口或IDE执行命令,其相关的print(),或执行结果打印在当前的窗口上;

    注意:

    • 在如pycharm中,当存在需要from *** import **这种需要导入时,无论在当前的目录下是否存在_init_.py文件,都可以直接导入同一目录下的文件。
    # 例当前的文件目录test文件夹下
    __init__.py
    test.py
    main.py
    took.py
    
    # 在window下书写main.py时可以
    from test.took import *
    # 也可以
    from took import *  # 但是IDE可能会提示报错,这个时候不用管它
    
    # 在linux下,from test.took import * 执行会报错
    
    • 所以应该写成from took import *才最保险

    pyc文件

    • Python提供了一种中间编译结果保存机制,即字节文件.pyc 文件。在执行一个 .py 文件的源代码之后,Python 并不会自动生成与该 .py 文件对应的 .pyc 文件,而是利用 Python的import机制。

    • python是解释型语言,按代码从上到下的顺序边解释边执行,如果运行中碰到import XXX这样的语句,python会按照响应的路径去寻找xxx.pyc文件,如果没有找到,但存在xxx.py文件,Python会首先将abc.py编译成相应的PyCodeObject中间结果,然后再创建 xxx.pyc 文件,并将中间结果写入该文件。接下来,Python才会对xxx.pyc文件进行一个 import 动作,也就是将 abc.pyc文件中的PyCodeObject复制一份加载到内存中;

    • 由于.pyc文件的此种运行机制,可随时删除所有中间过程 .pyc 文件,当 Python 再次运行时,会重生成这些 .pyc 文件。

    • pyc文件是不能使用编辑器进行编辑的,它的执行速度远远快于py文件,此外执行pyc文件也可以简单地防止源代码泄漏;

    • 运行pyc文件的方式和运行py文件的方式是一样的

    python xxx.pyc
    

    pyw文件

    windows环境

    • pyw文件运行的时候不会出现向pyc文件一样有闪烁的窗口,同时不会打开控制台窗口,相关的print()等输出会失效,程序在后台运行;

    • 可以使用双击的办法直接运行pyw文件,系统会调用pythonw.exe来运行;

    • 如果需要将相关的信息输出,可以:

    pythonw pathxxx.pyw 1>pathstdout.txt 2>pathstderr.txt
    
    # 1代表标准输出,将标准输出重定向到stdout.txt中
    # 2代表错误输出,将错误输出重定向到stderr.txt中
    

    linux环境

    • 在linux环境中,所有的文件是不区别扩展名的,而是根据内容使用响应的程序运行,因此pyw后缀和pyc后缀没有区别。
  • 相关阅读:
    基准测试工具
    性能调优-硬盘方面,操作系统方面,文件系统方面
    算法笔记_174:历届试题 地宫取宝(Java)
    算法笔记_173:历届试题 斐波那契(Java)
    算法笔记_172:历届试题 波动数列(Java)
    算法笔记_171:历届试题 小朋友排队(Java)
    算法笔记_170:历届试题 分糖果(Java)
    算法笔记_169:历届试题 兰顿蚂蚁(Java)
    算法笔记_168:历届试题 矩阵翻硬币(Java)
    算法笔记_167:算法提高 矩阵翻转(Java)
  • 原文地址:https://www.cnblogs.com/cwp-bg/p/8508847.html
Copyright © 2020-2023  润新知