当我执行 .py 文件时,我发现了一些差异。我观察到两个案例,
1)当我使用
python mypython.py
运行 .py 文件时
我得到了结果。但 .pyc 文件未在我的文件夹中创建。
2)当我使用
python -c "import mypython"
运行 .py 文件时
我得到了同样的结果。但是 .pyc 文件是在我的文件夹中创建的。
我的问题是为什么第一种情况没有创建 .pyc 文件?
导入一般用在需要在另一个脚本或程序中使用文件内容时,请参阅python 文件扩展名.pyc .pyd .pyo 代表什么?。因此,为了更具体地回答这个问题,创建 .pyc 是为了方便将来访问文件内容,并且仅在使用导入命令时创建。
Python 仅为导入的模块保存预编译的
.pyc
文件,而不是为您正在运行的主脚本保存。
将程序作为主程序运行或将其作为模块导入并不完全相同,但非常相似,因为在模块中,顶层的所有内容都在导入时执行。
请注意,对于主程序,源代码也已完全解析和编译(因此,例如,如果最后一行有语法错误,则不会执行任何操作)。不同之处只是编译结果没有保存回磁盘。