【发布时间】:2011-07-06 05:02:31
【问题描述】:
我是 python 的新手,因此是一个愚蠢的问题。
据我了解,在第一次执行 *.py 程序时,字节码会被创建到 *.pyc 中并一直使用到 *.py 文件发生变化为止。
这个 *.pyc 字节码可以在项目中的什么位置找到?
我会想到 bin,但那里什么都没有
【问题讨论】:
我是 python 的新手,因此是一个愚蠢的问题。
据我了解,在第一次执行 *.py 程序时,字节码会被创建到 *.pyc 中并一直使用到 *.py 文件发生变化为止。
这个 *.pyc 字节码可以在项目中的什么位置找到?
我会想到 bin,但那里什么都没有
【问题讨论】:
为导入的模块创建一个 *.pyc 文件,并将它们放置在包含 .py 文件的同一目录中。但是...没有为您的程序的主脚本创建 .pyc 文件。也就是说……如果你在命令行中调用“python myscript.py”,那么myscript.py就不会有.pyc文件了。
这就是 Python 2.x 的行为方式。但是,在 Python 3.x 中,.pyc 文件保存在 __pycache__ 目录中。有关详细信息,请参阅 David Glick 的回答。
[编辑:添加了关于 Python 3.x 的注释]
【讨论】:
-X pycache_prefix=PATH 标志或 PYTHONPYCACHEPREFIX 环境变量来更改 .pyc 文件树的保存位置。见docs。
在 Python
在 Python 3.2 中,编译后的文件被放置在 __pycache__ 子目录中,并且根据创建它们的 Python 解释器的不同命名。 (这对于从多个 Python 版本导入相同 Python 模块的人很有用。)请参阅http://docs.python.org/dev/whatsnew/3.2.html#pep-3147-pyc-repository-directories 了解更多信息。
【讨论】:
.pyc 文件。有关说明,请参阅this answer。
它们是在包含您的.py 文件的任何目录中创建的always。此外,它们是为导入的模块创建的,而不是您直接运行的文件。
如果您想创建 .pyc 文件,请启动 Python 解释器,然后只需 import 您选择的模块。
【讨论】:
.pyc 文件通常创建在与它们对应的文件相同的目录中。例如,my_file.py 和 my_file.pyc 应该在同一个位置。
【讨论】: