我想知道pyc文件(python字节码)是什么。我想知道所有的细节。 我想知道pyc文件如何与编译器接口。它是EXE的替代品吗? 是否需要由python运行? 它是否与.py文件一样便携? 我应该在哪里使用这个?何处使用pyc文件
回答
为了补充Mike Graham的回答,有一些有趣的评论here给出了pyc文件的一些信息。最有趣的是,我怀疑你是这样一行:
从'.pyc'或'.pyo'文件中读取的程序运行速度比从'.py '文件;关于'.pyc'或'.pyo'文件的唯一更快的速度是它们被加载的速度。
哪一个打在头上w.r.t. pyc文件的症结所在。 A pyc
是预解释的py
文件。 python字节码仍然与从py
文件生成的相同 - 不同之处在于,当使用pyc
文件时,您不必经历创建pyc
输出的过程(在运行py
文件时)。请阅读,因为您不必将python脚本转换为python字节码。
如果您遇到过java
中的.class文件,这是一个类似的概念 - 不同之处在于java必须在java解释器执行应用程序之前使用javac
编译。不同的做事方式(内部会因为不同的语言而非常不同),但同样的广泛思想。
Python字节码需要Python才能运行,不能在没有Python的情况下独立运行,并且特定于Python的特定版本x.y
。它应该可以跨平台移植到同一版本。你没有一个共同的理由来使用它; Python使用它来优化解析重复导入时的.py文件。你的生活会很好,忽略pyc文件的存在。
从docs:
由于对于使用了大量的标准模块,如果在目录中的垃圾邮件中还有一个叫spam.pyc的文件,短节目的启动时间的重要加速.py被发现,这被假定为包含模块垃圾邮件的已经“字节编译”版本。用于创建spam.pyc的spam.py版本的修改时间记录在spam.pyc中,如果它们不匹配,则.pyc文件将被忽略。
请参阅参考资料以了解更多信息。但一些具体答案:
spam.pyc文件的内容与平台无关,因此Python模块目录可以由不同体系结构的计算机共享。
这是不是可执行文件;它被编译器内部用作中间步骤。
通常,您不需要手工制作.pyc文件:解释器会自动生成.pyc文件。
- 1. 避免.pyc文件的好处?
- 2. 如何避免.pyc文件?
- 3. 通过Jython使用.pyc文件
- 4. 使用PYC文件而不是PY
- 5. 我可以只使用PYC文件吗
- 6. 使用uncompyle2反编译* .pyc文件
- 7. 删除* .pyc文件
- 8. WSGI与.pyc文件
- 9. Pydev和* .pyc文件
- 10. 当Django或python与Mercurial一起使用时,如何处理pyc文件?
- 11. cx_Freeze和PYC/PYD文件
- 12. .pyc文件在哪里?
- 13. 让Python忽略.pyc文件
- 14. PythonNN.zip:需要PYC文件
- 15. Python不检测.pyc文件
- 16. * pyc文件不被发现
- 17. 反编译* .pyc文件
- 18. 超出主文件夹.pyc文件?
- 19. 如何将字符串转换为pyc文件而不使用py文件?
- 20. 如何在导入其他.py文件时运行.pyc文件?
- 21. 如何执行* .pyc文件的文件直接在Linux终端
- 22. 使用预生成的.pyc或.pyo文件访问被拒绝
- 23. BASH;使用find和-exec删除.pyc文件
- 24. 嵌入式Python 3在使用importlib时不创建.pyc文件
- 25. Python不解释已更改的文件,使用过时的.pyc
- 26. ZipFile模块创建.pyc文件
- 27. .pyc文件和天真的加密
- 28. 停止python生成pyc文件
- 29. 打开.pyc文件时出现错误
- 30. 只安装.pyc文件与setuptools的