为什么我的Python 3代码自己编译



我遵循Python 3文档学习Multiprocessing,但我注意到一些我以前没有注意到的奇怪的东西。运行脚本后,代码将在"pycache"目录下编译为可运行的独立二进制文件。有人能给我解释一下吗?如果重要的话,我使用Windows 8和Python 3.3(两者都使用AMD64)。谢谢你。

from multiprocessing import Process
def f(name):
    print('hello',name)
if __name__ == '__main__':
    for i in range(5):
        p = Process(target=f, args=('bob',))
        p.start()
        p.join()
    input() #Added this so that I can see my results.

教程如下:http://docs.python.org/3.3/library/multiprocessing.html

当一个模块被导入时,Python将缓存字节码,这样它就不需要重新解析文件。缓存的字节码放在__pycache__文件夹中。multiprocessing隐式导入模块,因此它被缓存。它可以被安全地忽略,因为Python是智能的,如果它过时了就不会使用它。如果真的不希望它到处生成这些目录和文件,那么将环境变量PYTHONDONTWRITEBYTECODE设置为1

相关内容

最新更新