In spirit of the existing "what's your most useful C/C++ snippet" - thread:
Do you guys have short, monofunctional Python snippets that you use (often) and would like to share with the StackOverlow Community? Please keep the entries small (under 25 lines maybe?) and give only one example per post.
I'll start of with a short snippet i use from time to time to count sloc (source lines of code) in python projects:
# prints recursive count of lines of python source code from current directory
# includes an ignore_list. also prints total sloc
import os
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()),
totalpath.split(cur_path)[1]) )
for linenumbercount, filename in loclist:
print "%05d lines in %s" % (linenumbercount, filename)
print "\nTotal: %s lines (%s)" %(sum([x[0] for x in loclist]), cur_path)
I actually just created this, but I think it's going to be a very useful debugging tool.
I usually use dir() in a pdb context, but I think this will be much more useful:
When debugging, you sometimes want to see a string with a basic editor. For showing a string with notepad:
The only 'trick' I know that really wowed me when I learned it is enumerate. It allows you to have access to the indexes of the elements within a for loop.
For Python 2.4+ or earlier:
In Python 2.5+ there is alternative using defaultdict.
Huge speedup for nested list and dictionaries with:
Fire up a simple web server for files in the current directory:
Useful for sharing files.