虽然经历了许多概念,但这是我的最后一点(可能很愚蠢)。请告诉我如何实现以下方案
在文件夹中说我有“z.pyc”文件(没有z.py)。
现在我在同一个位置创建了z.py.
根据我的理解,首次执行z.py会更新z.pyc,所以从第二次试用z.py和z.pyc时应该给出相同的结果。
但它没有发生。 z.py和z.pyc每次给出区分结果。 请建议如何实现这种情况。
答案 0 :(得分:2)
" 首次执行z.py将更新z.pyc "
不,"执行z.py
"绝不会创建,更新或引用z.py
。只有import z
语句才能创建或使用z.pyc
。
1).pyc
文件是在执行文件的 import
时创建的,永远不会在执行文件时执行。
2)如果需要,import z
将刷新编译版本。
3)运行python z.pyc
将始终运行文件的编译版本,而python z.py
将永远不会运行文件的编译版本。
因此,可能导致上述混淆结果的一系列事件是:
$ echo "print 'first file'" > z.py
$ echo "import z" > main.py
$ python main.py
first file
$ echo "print 'second file'" > z.py
$ python z.py
second file
$ python z.pyc
first file
要学习的课程?永远不要运行python z.pyc
,始终运行python z.py
。