Maison >développement back-end >Tutoriel Python >Quelles sont les techniques de traitement des journaux et de débogage en Python ?
Quelles sont les techniques de traitement des journaux et de débogage en Python ?
Introduction :
Pendant le processus de développement et de débogage, il est crucial de suivre l'état d'exécution du code, de suivre les erreurs et les exceptions et d'évaluer les performances. En Python, les compétences en traitement des journaux et en débogage peuvent nous aider à mieux comprendre l'exécution du code, à localiser et corriger les bogues et à optimiser les performances du programme. Cet article présentera les bibliothèques de traitement des journaux et les techniques de débogage couramment utilisées en Python, et fournira des exemples de code spécifiques.
1. Compétences en traitement des journaux
import logging logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') logger = logging.getLogger(__name__) def divide(x, y): try: result = x / y logger.debug("Result of division: %s", result) return result except ZeroDivisionError: logger.error("Cannot divide by zero!") return None divide(10, 2)
Dans cet exemple, utilisez la méthode basicConfig pour configurer le niveau de sortie du journal sur DEBUG et le format de sortie. Utilisez la méthode getLogger pour créer un objet Logger nommé __name__. Les informations de débogage sont générées en appelant la méthode de débogage de l'objet Logger et les informations d'erreur sont générées en appelant la méthode d'erreur.
from loguru import logger logger.add("debug.log", level="DEBUG", format="{time} - {level} - {message}") def divide(x, y): try: result = x / y logger.debug("Result of division: {}", result) return result except ZeroDivisionError: logger.error("Cannot divide by zero!") return None divide(10, 2)
Dans cet exemple, la méthode logger.add est utilisée pour générer le journal dans un fichier nommé debug.log, le niveau est DEBUG et le format de sortie est défini. Utilisez logger.debug pour afficher les informations de débogage et logger.error pour afficher les informations d'erreur.
2. Compétences en débogage
def divide(x, y): print("x =", x) print("y =", y) try: result = x / y print("Result of division:", result) return result except ZeroDivisionError: print("Cannot divide by zero!") return None divide(10, 2)
Dans cet exemple, les valeurs des variables x et y sont sorties, ainsi que le résultat de l'opération de division, en insérant une instruction print.
import pdb def divide(x, y): pdb.set_trace() try: result = x / y print("Result of division:", result) return result except ZeroDivisionError: print("Cannot divide by zero!") return None divide(10, 0)
Dans cet exemple, un point d'arrêt est inséré dans le code en appelant la méthode pdb.set_trace. Lors de l'exécution du programme, vous entrerez en mode de débogage pdb et vous pourrez déboguer le code en entrant des commandes (telles que n, s, p, etc.).
Conclusion :
Ce qui précède présente les techniques courantes de traitement des journaux et de débogage en Python, notamment l'utilisation du module de journalisation et de la bibliothèque loguru pour le traitement des journaux, ainsi que l'utilisation des instructions d'impression et des outils pdb pour le débogage. Ces techniques peuvent aider les développeurs à mieux comprendre l'exécution du code, à localiser et corriger rapidement les bogues et à optimiser les performances du programme.
En utilisant rationnellement ces techniques, nous pouvons améliorer l'efficacité du développement et la qualité du code, afin de mieux mener à bien le travail de développement Python.
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!