执行python脚本会将其加载到内存中吗?

时间:2017-03-12 11:19:25

标签: python python-3.x

我在Ubuntu 16.04上使用python3 myscript.py运行python脚本。脚本是加载到内存中还是从hdd逐行读取和解释?如果没有同时加载,是否有任何方法可以知道或控制块被加载到内存中的大小?

2 个答案:

答案 0 :(得分:4)

它完整地加载到内存中。必须如此,因为接近结尾的语法错误将立即中止程序。试试吧,看看。

无需任何方法来控制或配置它。这肯定是最好的实施细节。如果您遇到与此相关的问题(例如,您的脚本比RAM大),可以通过其他方式解决。

答案 1 :(得分:1)

您使用的“脚本”只是您看到的人性化表示。 Python打开该脚本,读取行,标记它们,为它创建一个解析和ast树,然后发出字节码,您可以使用dis模块看到它。

未加载“脚本”,它的代码对象(包含为其生成的指令的对象)是。没有直接的方法来影响这个过程。我从来没有听说过一个脚本太大而你需要以大块的形式阅读它,如果你完成它我会感到惊讶。