En général, les personnes ne fabriquent pas de paquets à partir d'une douzaine ou deux lignes de code. L'article suivant analyse l'utilisation de tous la syntaxe python et renvoie un mappage de dictionnaire ast nœuds à combien de fois ce nœud est apparu dans la source. Des exemples montrant le nombre de def
et class
sont également en dessous.
import collections
import os
import ast
def analyze(packagedir):
stats = collections.defaultdict(int)
for (dirpath, dirnames, filenames) in os.walk(packagedir):
for filename in filenames:
if not filename.endswith('.py'):
continue
filename = os.path.join(dirpath, filename)
syntax_tree = ast.parse(open(filename).read(), filename)
for node in ast.walk(syntax_tree):
stats[type(node)] += 1
return stats
print("Number of def statements:", analyze('.')[ast.FunctionDef])
print("Number of class statements:", analyze('.')[ast.ClassDef])
Python a une excellente introspection. [Créez AST] (http://docs.python.org/library/parser.html) de votre source ('suite', puis' totuple') et analysez le contenu de votre coeur. – 9000
Merci, et oui je pourrais coder mon propre mais ce n'est pas vraiment ce que j'ai demandé. Je demande si quelqu'un connaît une bibliothèque de dépannage existante qui extrait des statistiques et traite des détails d'introspection. – moraes