import os.path import tokenize for root, dirs, files in os.walk('.'): for name in files: if name.endswith('.py'): filename = os.path.join(root, name) try: with open(filename, "rb") as pyfile: encoding = tokenize.detect_encoding(pyfile.readline)[0] with open(filename, "r", encoding=encoding) as pyfile: source = pyfile.read() compile(source, filename, 'exec') except BaseException as e: print(filename, ':', e)