If you’re a Pythonista or just a coder, you may have come across this web cartoon:
Its creator Ryan Sawyer has been working as a full-time graphic designer and freelance illustrator for the past 10 years. His projects have been featured on websites such as /Film, io9, BoingBoing, Uproxx, MusicRadar, SuperPunch, IGN, and PackagingDigest.
I recently came across an interesting thread on Reddit on the origins of this cartoon. Basically, the cartoonist, ergo Python-speaking-Harry, got their code from this Stack Overflow forum for short, useful Python code snippets! Convenient, right?!
What’s funny is that the forum later got closed as it was deemed not constructive!
The code is supposed to print a recursive count of lines of python source code from the current working directory, including an ignore list – so as to print total sloc. Don’t blame me though, if the code doesn’t work!
|# prints recursive count of lines of python source code from current directory|
|# includes an ignore_list. also prints total sloc|
|cur_path = os.getcwd()|
|ignore_set = set(["__init__.py", "count_sourcelines.py"])|
|loclist = |
|for pydir, _, pyfiles in os.walk(cur_path):|
|for pyfile in pyfiles:|
|if pyfile.endswith(".py") and pyfile not in ignore_set:|
|totalpath = os.path.join(pydir, pyfile)|
|loclist.append( ( len(open(totalpath, "r").read().splitlines()),|
|for linenumbercount, filename in loclist:|
|print "%05d lines in %s" % (linenumbercount, filename)|
|print "\nTotal: %s lines (%s)" %(sum([x for x in loclist]), cur_path)|