where are the .pyc files?

2019-01-18 19:07发布

I am a complete newb to python, hence a silly question.

As i understand, upon first execution of a *.py program, byte code is created into *.pyc and used until a change in *.py file.

Where might this *.pyc bytecode be found in a project?

I would think bin, but nothing is there

4条回答
做自己的国王
2楼-- · 2019-01-18 19:31

The .pyc files are normally created in the same directory as the files that they correspond to. E.g., both my_file.py and my_file.pyc should be in the same location.

查看更多
Lonely孤独者°
3楼-- · 2019-01-18 19:39

In Python < 3.2, the .pyc files are placed in the same directory as the .py file.

In Python 3.2, the compiled files are placed in a __pycache__ subdirectory, and are named differently depending on which Python interpreter created them. (This can be useful to people importing the same Python modules from multiple versions of Python.) See http://docs.python.org/dev/whatsnew/3.2.html#pep-3147-pyc-repository-directories for more information.

查看更多
做自己的国王
4楼-- · 2019-01-18 19:44

They are always created in whatever directory contains your .py files. Also, they are created for imported modules, not files that you directly run.

If you want to create .pyc files, boot up a Python interpreter and just import the modules of your choosing.

查看更多
够拽才男人
5楼-- · 2019-01-18 19:51

A *.pyc file is created for imported modules, and they are placed in the same directory containing the .py file. However... no .pyc file is created for the main script for your program. In other words... if you call "python myscript.py" on the command line, there will be no .pyc file for myscript.py.

This is how Python 2.x behaves. However, in Python 3.x the .pyc files are saved in a __pycache__ directory. See David Glick's answer for details.

[edit: Added note about Python 3.x.]

查看更多
登录 后发表回答