If ever someone wants to clean up the repository to conform to PEP 7, I
wrote a program that catches a couple hundred PEP 7 violations in ./Python
alone (1400 in the whole codebase):
import os
import re
def grep(path, regex):
reg_obj = re.compile(regex, re.M)
res = []
for root, dirs, fnames in os.walk(path):
for fname in fnames:
if fname.endswith('.c'):
path = os.path.join(root, fname)
with open(path) as f:
data = f.read()
for m in reg_obj.finditer(data):
line_number = sum(c == '\n'
for c in data[:m.start()]) + 1
res.append("{}: {}".format(path, line_number))
return res
for pattern in [
r'^\s*\|\|',
r'^\s*\&\&',
r'} else {',
r'\<return\s*\(',
]:
print("Searching for", pattern)
print("\n".join(grep('.', pattern)))
In my experience, it was hard to write PEP 7 conforming code when the
surrounding code is inconsistent.
Best,
Neil
_______________________________________________
Python-Dev mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com