我在Ubuntu 16.04上使用python3 myscript.py
运行python脚本。脚本是加载到内存中还是从hdd逐行读取和解释?如果没有同时加载,是否有任何方法可以知道或控制块被加载到内存中的大小?
答案 0 :(得分:4)
它完整地加载到内存中。必须如此,因为接近结尾的语法错误将立即中止程序。试试吧,看看。
无需任何方法来控制或配置它。这肯定是最好的实施细节。如果您遇到与此相关的问题(例如,您的脚本比RAM大),可以通过其他方式解决。
答案 1 :(得分:1)
您使用的“脚本”只是您看到的人性化表示。 Python打开该脚本,读取行,标记它们,为它创建一个解析和ast树,然后发出字节码,您可以使用dis
模块看到它。
未加载“脚本”,它的代码对象(包含为其生成的指令的对象)是。没有直接的方法来影响这个过程。我从来没有听说过一个脚本太大而你需要以大块的形式阅读它,如果你完成它我会感到惊讶。