Maison  >  Article  >  développement back-end  >  Comment supprimer la génération de fichiers .pyc en Python ?

Comment supprimer la génération de fichiers .pyc en Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-20 15:32:02775parcourir

How to Suppress the Generation of .pyc Files in Python?

Contourner la création de fichiers .pyc

Lors de l'exécution du code Python, des fichiers .pyc, contenant le bytecode compilé, sont souvent générés. Cependant, certains scénarios peuvent justifier la suppression de ces fichiers. Cette question explore les moyens d'empêcher leur création.

Solution

Selon la documentation officielle de Python ("Quoi de neuf dans Python 2.6 - Modifications de l'interpréteur"), on peut supprimer le fichier .pyc ou .pyo génération à l’aide du commutateur -B. Vous pouvez également définir la variable d'environnement PYTHONDONTWRITEBYTECODE avant d'exécuter l'interpréteur. Les programmes Python peuvent également accéder à ce paramètre via la variable sys.dont_write_bytecode.

Pour exécuter votre code Python sans générer de fichiers .pyc, utilisez la commande suivante :

python -B prog.py

Amélioration Python 3.2

Pour Python 3.2, une nouvelle fonctionnalité a été introduite : le sous-dossier __pycache__. Les fichiers .pyc sont désormais stockés dans ce sous-dossier au lieu d'encombrer les dossiers sources. (Voir « Quoi de neuf dans Python 3.2 – Répertoires du référentiel PYC » pour plus de détails.)

Considérations sur les performances

Il est important de noter que la génération de fichiers .pyc est une optimisation des performances. En mettant en cache le bytecode compilé, cela réduit le temps nécessaire pour exécuter le code ultérieurement. La désactivation de la génération de fichiers .pyc (en définissant PYTHONDONTWRITEBYTECODE=1) peut avoir un impact négatif sur les performances.

Ressources supplémentaires

Pour plus d'informations sur les fichiers .pyc et leurs implications en termes de performances, reportez-vous aux ressources suivantes :

  • "PEP 0304 -- Compilation optimisée" (Python 2) : https://www.python.org/dev/peps/pep-0304/
  • "PEP 3147 -- Compilation optimisée" (Python 3) : https://www.python.org/dev/peps/pep-3147/
  • "Améliorations des performances en Python" (GitHub) : https://github.com/ python/cpython

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn