Python 常见文件格式 (1)

Python 常被称为胶水语言,能把用其他语言编写的各模块 (尤其是 C/C++) 轻松地联结在一起。常见情形是,用 Python 快速生成程序原型 (有时甚至是程序最终界面),然后对其中有特别要求的部分,用更合适的语言改写;譬如:3D 游戏中的图形渲染模块,性能要求特别高,就可用 C/C++ 重写,而后封装为 Python 可调用的扩展类库。需要注意的是,在您使用扩展类库时可能需要考虑平台问题,某些扩展类库可能不提供跨平台实现。

一般认为,Python 是一种解释性语言,Python 在执行时,会先将 .py 文件中的源代码编译成byte code (字节码),然后再由 Python Virtual Machine 来执行这些编译 byte code。

这种机制的基本思想跟 Java、.NET 一致;但 Python Virtual Machine 与 Java 或 .NET 的 Virtual Machine 不同的是:Python 的 Virtual Machine 是一种更高级的 Virtual Machine。这里的高级并不是通常意义上的高级,不是说 Python 的 Virtual Machine 比 Java 或 .NET 的功能更强大,更拽,而是说和 Java 或 .NET 相比,Python 的 Virtual Machine 距真实机器的距离更远。或者可以这么说,Python 的 Virtual Machine 是一种抽象层次更高的 Virtual Machine。

Python 提供了一种中间编译结果保存机制,即 byte code,或更准确地说,保存 PyCodeObject。事实上,Python 确实提供了这样一种机制,在执行一个 .py 文件的源代码之后,Python 并不会自动生成与该 .py 文件对应的 .pyc 文件。Python 会根据需要自动触发、创建 .pyc 文件,原理很简单,就是利用 Python 的 import 机制。

在 Python 运行过程中如碰到 import abc 这样的语句,Python 将会在设定好的 path 中寻找 abc.pyc 或 abc.dll 文件。若没有这样的文件,而只是发现了 abc.py 文件,那么,Python 会首先将 abc.py 编译成相应的 PyCodeObject 中间结果,然后再创建 abc.pyc 文件,并将中间结果写入该文件。接下来,Python 才会对 abc.pyc 文件进行一个 import 动作,实际上也就是将 abc.pyc 文件中的 PyCodeObject 重新在内存中复制出来,加以运行。

由于 Python .pyc 文件的此种运行机制,所以,可随时删除所有中间过程 .pyc 文件,当 Python 再次运行时,还会重生成这些 .pyc 文件,对您所编辑程序的运行并无任何影响。当然,得有源代码才行。

视窗用 python.exe 运行 .py ,用 py

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,可以使用一些库和方法来检验文件的格式。以下是一种常见的方法: 1. 使用文件扩展名检验:可以通过检查文件的扩展名来确定文件的格式。Python中的os模块提供了一个方法来获取文件的扩展名,可以使用该方法来检验文件的格式。例如,如果文件扩展名是".txt",则可以判断该文件是文本文件。 示例代码: ```python import os def check_file_format(file_path): file_extension = os.path.splitext(file_path)[1] if file_extension == ".txt": print("该文件是文本文件") elif file_extension == ".csv": print("该文件是CSV文件") else: print("未知文件格式") # 调用函数进行检验 check_file_format("example.txt") ``` 2. 使用magic模块检验:magic模块是一个Python库,可以根据文件内容来判断文件的格式。它使用了魔术数字(magic number)和文件头信息来进行判断。安装magic模块后,可以使用其提供的方法来检验文件的格式。 示例代码: ```python import magic def check_file_format(file_path): file_type = magic.from_file(file_path) if "text" in file_type: print("该文件是文本文件") elif "CSV" in file_type: print("该文件是CSV文件") else: print("未知文件格式") # 调用函数进行检验 check_file_format("example.txt") ``` 这些方法只是其中的两种常见的检验文件格式的方法,具体的检验方式还取决于文件的特征和需求。你可以根据具体的文件格式要求来选择合适的方法进行检验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值