Python Notes: Difference between revisions
From Federal Burro of Information
Jump to navigationJump to search
Line 83: | Line 83: | ||
== datetime == | == datetime == | ||
stuff | |||
== tuples == | |||
<pre> | |||
>>> x = [(1,2), (3,4), (5,6)] | |||
>>> for item in x: | |||
... print "A tuple", item | |||
A tuple (1, 2) | |||
A tuple (3, 4) | |||
A tuple (5, 6) | |||
>>> for a, b in x: | |||
... print "First", a, "then", b | |||
First 1 then 2 | |||
First 3 then 4 | |||
First 5 then 6 | |||
</pre> | |||
== Exception handling == | == Exception handling == |
Revision as of 18:28, 25 October 2017
Docs:
- Latest: docs.python.org
- Old release http://docs.python.org/release/2.2.1/lib/module-cgi.html
ghetto command line argv
#!/usr/bin/python import sys print 'Number of arguments:', len(sys.argv), 'arguments.' print 'Argument List:', str(sys.argv)
what's in that object?
https://download.tuxfamily.org/jeremyblog/diveintopython-5.4/py/apihelper.py
then use it like this:
#!/usr/bin/env python from apihelper import info mything info(mything)
AutoVivification
import pprint class Vividict(dict): def __missing__(self, key): value = self[key] = type(self)() return value d = Vividict() d['foo']['bar'] d['foo']['baz'] d['fizz']['buzz'] d['primary']['secondary']['tertiary']['quaternary'] pprint.pprint(d)
vim tabs
in file:
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
in ~/.vimrc:
tabstop=8 expandtab shiftwidth=4 softtabstop=4
parse json
python -m json.tool my_json.json
parse yaml
python -c "from yaml import load, Loader; load(open('filename.yml'), Loader=Loader)"
urllib
https://stackoverflow.com/questions/3238925/python-urllib-urllib2-post
datetime
stuff
tuples
>>> x = [(1,2), (3,4), (5,6)] >>> for item in x: ... print "A tuple", item A tuple (1, 2) A tuple (3, 4) A tuple (5, 6) >>> for a, b in x: ... print "First", a, "then", b First 1 then 2 First 3 then 4 First 5 then 6
Exception handling
try: # rv, data = M.search(None, "ALL") # rv, data = M.search(None, 'SENTSINCE 1-Jan-2017 SENTBEFORE 31-Dec-2017') rv, data = M.search(None, 'SENTSINCE 1 Jan 2017') except Exception, e: print "M.search failed" print "Error %s" % M.error.message print "Exception is %s" % str(e)
also:
try: pass except Exception as e: # Just print(e) is cleaner and more likely what you want, # but if you insist on printing message specifically whenever possible... if hasattr(e, 'message'): print(e.message) else: print(e)