Maison > développement back-end > Tutoriel Python > Comment puis-je récupérer par programme le code source d'une fonction Python ?

Comment puis-je récupérer par programme le code source d'une fonction Python ?

Susan Sarandon
Libérer: 2024-12-17 09:57:24
original
337 Les gens l'ont consulté

How Can I Programmatically Retrieve the Source Code of a Python Function?

Récupération du code source d'une fonction Python

Lorsque vous travaillez avec des fonctions Python, vous pouvez rencontrer le besoin de récupérer leur code source par programme. Ceci est généralement utile pour introspecter l'implémentation de la fonction ou à des fins de débogage.

Recherche des métadonnées de fonction

Python fournit plusieurs mécanismes pour inspecter les métadonnées de la fonction, y compris l'attribut func_name, qui renvoie le nom de la fonction sous la forme une chaîne. Cependant, cela ne fournit pas d'accès direct au code source.

Utilisation du module inspect

Pour récupérer le code source d'une fonction Python, vous pouvez exploiter le module inspect. Si la fonction est définie dans un fichier source disponible sur le système de fichiers, vous pouvez utiliser la fonction inspect.getsource(foo).

import inspect

def foo(arg1, arg2):
    # do something with args
    a = arg1 + arg2
    return a

lines = inspect.getsource(foo)
print(lines)
Copier après la connexion

Cela imprimera le code source de la fonction foo tel qu'il apparaît. dans le fichier source.

Limitations de la récupération du code source

Il est important de noter que si la fonction est compilée à partir d'une chaîne, d'un flux ou importée de un fichier compilé, vous ne pourrez peut-être pas récupérer son code source.

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.cn
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