2011-03-01 69 views
14

我是python的一个完整的newb,因此是一个愚蠢的问题。.pyc文件在哪里?

据我所知,在A *的.py程序的第一次执行,字节代码被创建成* pyc文件和使用,直到在* .py文件的改变。

凡可能这个* .pyc文件的字节码在一个项目中找到?

我想斌,但没有什么是有

回答

20

A * pyc文件文件是为导入的模块创建的,并且它们被放置在包含.py文件相同的目录中。但是...没有.pyc文件是为您的程序的主脚本创建的。换句话说......如果你在命令行中调用“python myscript.py”,myscript.py将不会有.pyc文件。

这是Python的2.X的行为。但是,在Python 3.x中,.pyc文件保存在__pycache__目录中。有关详细信息,请参阅David Glick的答案。

[编辑:关于Python 3.x中添加了注意事项]

0

的pyc文件在同一目录中,它们对应的文件创建的。例如,my_file.py和my_file.pyc应该位于相同的位置。

+0

我看到2个文件旁边的源文件夹:.pydevproject和.project。在源文件中,我只能看到.py文件 – JAM 2011-03-01 02:18:01

+0

每个文件都不一定会有.pyc文件。它们通常在模块是_imported_时创建,而不是直接运行。 – 2011-03-01 02:21:13

1

他们在任何目录包含您.py文件创建always。此外,它们是为导入的模块创建的,而不是您直接运行的文件。

如果你想创建.pyc文件,启动了Python解释器和您选择的只是import模块。

14

在Python < 3.2中,pyc文件被放置在相同的目录中.py文件。

在Python 3.2中,已编译的文件被放置在__pycache__子目录中,并且根据Python解释器创建它们而命名不同。 (这对于从多个Python版本导入相同Python模块的用户很有用。)有关更多信息,请参阅http://docs.python.org/dev/whatsnew/3.2.html#pep-3147-pyc-repository-directories

+2

对于我刚刚解决的混淆未来的读者:这仅适用于*模块*。您的第一个“Hello,world”脚本不会在任何地方写入.pyc文件*。请参阅[本答案](http://stackoverflow.com/a/27735336/5419599)以获取解释。 – Wildcard 2016-09-04 16:59:28