334 votes

Que signifient les extensions de fichier python, .pyc .pyd .pyo?

Que signifient ces extensions de fichier python?

  • .pyc
  • .pyd
  • .pyo

Quelles sont les différences entre eux et comment sont-ils générés à partir d'un fichier * .py?

371voto

sharth Points 25625
  1. .py: C'est normalement la source d'entrée de code que vous avez écrit.
  2. .pyc: C'est le code compilé. Si vous importez un module python construire un *.pyc le fichier qui contient le bytecode de faire de l'importer à nouveau plus tard plus facile (et plus rapide).
  3. .pyo: C'est un *.pyc le fichier qui a été créé alors que les optimisations (-O).
  4. .pyd: Il s'agit essentiellement d'une dll de windows fichier. http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

Aussi pour une discussion plus approfondie sur .pyc vs .pyo, jetez un oeil à: http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html (j'ai copié la partie importante ci-dessous)

  • Lorsque l'interpréteur Python est invoqué avec l'option-O drapeau, optimisé le code est généré et stocké dans ‘.pyo' fichiers. L'optimiseur actuellement n'aide pas beaucoup; il ne supprime affirmer consolidés. Lors de l'-O est utilisé, tous les bytecode est optimisée .pyc fichiers sont ignorés et .py, les fichiers sont compilés à l'optimisation de bytecode.
  • En passant de deux O des drapeaux de l'interpréteur Python (-OO) fera que le compilateur de bytecode pour procéder à des optimisations qui pourraient, dans certains rares cas, entraîner un dysfonctionnement des programmes. Actuellement, seuls doc chaînes sont supprimés à partir du bytecode, résultant en plus compact ‘.pyo' fichiers. Etant donné que certains programmes peuvent compter sur d'avoir ces disponible, vous ne devriez utiliser cette option si vous savez ce que vous faites.
  • Un programme n'est pas exécuté plus rapidement lorsqu'il est lu à partir d'un ‘.pyc' ou ‘.pyo' fichier que lorsqu'il est lu à partir d'un ‘.py' fichier; la seule chose qui est plus rapide sur ‘.pyc' ou ‘.pyo' fichiers est la vitesse à laquelle ils sont chargés.
  • Lorsqu'un script est exécuté en donnant son nom sur la ligne de commande, le pseudo-code pour le script n'est jamais écrite pour un".pyc' ou ‘.pyo' fichier. Ainsi, le temps de démarrage d'un script peut être réduit par l'adoption de son code d'un module et d'avoir un petit script bootstrap que les importations de ce module. Il est également possible de nommer un".pyc' ou ‘.pyo' fichier directement sur la ligne de commande.

176voto

.py - Régulier scripts
.py3 - (rarement utilisé) Python3 script. Python3 scripts généralement fin avec ".py" non ".py3", mais j'ai vu que quelques fois
.pyc - script compilé (Bytecode)
.pyo - optimisé fichier pyc
.pyw - script Python pour Windows. Il est exécuté avec pythonw.exe
.custode - Cython src être converti en C/C++
.pyd - script Python fait que d'une DLL de Windows
.pxd - Cython script qui est équivalent à un C/C++ header
.py[cod] générique notation ".gitignore" cela signifie que le fichier est peut-être ".pyc", ".pyo", ou ".pyd".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by: