लोग आम तौर पर उन चीज़ों से पैकेज नहीं बनाते हैं जो कोड के दर्जन या दो पंक्तियों में किए जा सकते हैं। निम्नलिखित सभी पायथन सिंटैक्स के उपयोग का विश्लेषण करता है और स्रोत में नोड आने के कितने बार मैपिंग एस्ट नोड्स देता है। def
और class
कथन की संख्या दिखाए गए उदाहरण भी नीचे हैं।
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])
स्रोत
2011-04-23 15:23:38
अजगर उत्कृष्ट आत्मनिरीक्षण है। [एएसटी बनाएं] (http://docs.python.org/library/parser.html) अपने स्रोत से बाहर ('suite', फिर' totuple') और अपने दिल की सामग्री का विश्लेषण करें। – 9000
धन्यवाद, और हाँ मैं अपना खुद का कोड कर सकता हूं लेकिन यह वास्तव में मैंने नहीं पूछा है। मैं पूछ रहा हूं कि कोई मौजूदा सुविधा लाइब्रेरी जानता है जो आत्मनिरीक्षण विवरण के साथ सांख्यिकी और सौदों को निकालता है। – moraes