*.pyo如果可用的话,相应的文件是一个文件,否则是一个*.pyc文件,必要时编译。如果路径名是一个文件,则文件名必须以.py,并且只有(对应的*.py[co])文件被添加到顶层(无路径信息)。
请注意,如果归档仅包含.py的文件,Python将不会试图通过增加相应的修改该文件.pyc或.pyo文件,这意味着如果一个ZIP压缩文件不包含.pyc文件,进口可能会相当缓慢。
该marshal模块主要用于支持读取和编写.pyc文件的Python模块的“伪编译”代码。因此,如果需要,Python维护者保留修改编组格式的权利,这些编码格式采用后向不兼容的方式。
它定义了以下常量和函数: imp.get_magic() 返回用于识别字节编译代码文件(.pyc文件)的魔术字符串值。(对于每个Python版本,此值可能不同。)
如果从一个文件加载,它们被写为<module'os'from'/usr/local/lib/pythonX.Y/os.pyc'>。 12.2。类和类实例 请参阅对象,值和类型以及这些类的定义。
攻击者可以通过.pyc在文件系统中的任何位置放置一个伪造的字节编译文件()来退出受限制的执行模式,例如将其写入/tmp或上传到/incoming公用FTP服务器的目录中。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
