2011-03-01 222 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