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

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

Barbara Streisand
Libérer: 2024-10-20 15:32:02
original
870 Les gens l'ont consulté

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
Copier après la connexion

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal