r...@zedat.fu-berlin.de (Stefan Ram) writes: > Hope Rouselle <hrouse...@jevedi.com> writes: >>Have you guys ever measured something like that in a casual or serious > > import ast > import pathlib > rootname=r'''<ABSOLUTE PATH TO A DIRECTORY WITH SOURCE CODE>''' > rootpath=pathlib.Path(rootname) > rootiterable=rootpath.glob('**/*.py') > first = True > WhileCount = 0 > ForCount = 0 > for filepath in rootiterable: > try: > with filepath.open(encoding="utf-8") as file: > source=file.read() > parse=ast.parse(source, filename=str(file)) > for entry in ast.walk(parse): > if isinstance(entry, ast.While): > WhileCount+=1 > print( f"{ForCount=}, {WhileCount=}" ) > elif isinstance(entry, ast.For): > ForCount+=1 > print( f"{ForCount=}, {WhileCount=}" ) > except SyntaxError as inst: > if first: > print( f"{sys.exc_info()[ 0 ] =}" ) > print( f"{type( inst ) =}" ) > print( f"{inst.args =}" ) > print( f"{inst =}" ) > print( f"skipping {filepath}." ) > first=False
You are so wonderful! Thanks quite a lot. Here's what I got: ForCount=18703, WhileCount=2505 I have pretty much just the standard libraries and a couple more --- sympy and some xlsxwriter library. -- https://mail.python.org/mailman/listinfo/python-list