changeset 625:e92bd004b906

STUB: .emacs python/example/func_args.py
author Jeff Hammel <k0scist@gmail.com>
date Wed, 12 Feb 2014 16:00:32 -0800
parents b0144a39086d
children 89a72399286b
files .emacs python/example/func_args.py
diffstat 2 files changed, 32 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.emacs	Wed Feb 12 14:27:12 2014 -0800
+++ b/.emacs	Wed Feb 12 16:00:32 2014 -0800
@@ -164,7 +164,7 @@
 
 def main(args=sys.argv[1:]):
 
-    parser = argparse.ArgumentParser(usage=usage, description=__doc__)
+    parser = argparse.ArgumentParser(description=__doc__)
     parser.add_option('input', nargs='?',
                       type=argparse.FileType('r'), default=sys.stdin,
                       help='input file, or read from stdin if ommitted')
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/python/example/func_args.py	Wed Feb 12 16:00:32 2014 -0800
@@ -0,0 +1,31 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+"""
+get args of your own function
+
+http://stackoverflow.com/questions/582056/getting-list-of-parameter-names-inside-python-function
+"""
+
+import argparse
+import inspect
+import os
+import subprocess
+import sys
+
+def foo(bar=None, fleem=None, blah=None):
+    frame = inspect.currentframe()
+    args, _, _, values = inspect.getargvalues(frame)
+    print 'function name "%s"' % inspect.getframeinfo(frame)[2]
+    for i in args:
+        print "    %s = %s" % (i, values[i])
+    return [(i, values[i]) for i in args]
+
+def main(args=sys.argv[1:]):
+
+    parser = argparse.ArgumentParser()
+    options = parser.parse_args(args)
+    foo(1, 2, 3)
+
+if __name__ == '__main__':
+    main()