Skip to main content

An alternative to python -c with much less typing, at the price of being dirtier.

Project description


An alternative to python -c with much less typing, at the price of being dirtier.


$ pip install python-c


If you have a file named with:

def quite():
   return 5
def loud():
    print 'hello'
def double(arg):
   return arg*2

Instead of:

$ python -c "import foo; foo.loud();"

You can now write:

$ python-c foo 'loud()'

You can load multiple files:

$ python-c foo,foo2 'loud()'

or directories:

$ python-c ./,./dir1,./dir2/ 'loud()'

In cases where it works (e.g clashes between files are benign), you can minimize your typing and omit the first argument, the current directory is then loaded by default:

$ python-c 'loud()'


Printing is handled for you:

$ python-c foo 'quite()'

The result of the call (if any) is printed, even though the function does not call ‘print’.

More examples

You can pass arguments to your functions:

$ python-c foo 'double(2)'

You can execute arbitrary code in your single line:

$ python-c foo '"hot" if double(2) == 4 else "cold"'

This includes printing:

$ python-c 'print "double {} is {}".format(2, double(2))'
double 2 is 4


Time is our most valuable non-possesion. The python interpreter must be clean and unambiguous, including the way it handls it’s option ‘-c’. However, more often than not, I will accept being dirty (e.g live with benign clashes between files) and simply type python-c ‘test23()’ as opposed to the double as long python -c ‘import; foo.test23()’. Such dirty functionality should not be built into the interpreter, hence python-c: the tool playfully indicates its motivation by saving you from typing a space between ‘python’ and ‘-c’.

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python-c, version 1.0
Filename, size File type Python version Upload date Hashes
Filename, size python-c-1.0.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page