Help - command line arguments

Hans Nowak wurmy at
Sun Dec 30 00:36:20 EST 2001

Steve Zatz wrote:
> I am new to Python and although I am sure that the following is obvious I
> can't figure the following out or find an answer in any of the texts that I
> have access to.
> My question is:  Can you run a script that takes command line arguments from
> within the Python shell or from the Python command line?
> For example, something like:
> -a -b
> runs fine from the *Windows XP* command prompt.
> From the Python command line, I can do the following:
> import test
> test.main()
> which doesn't produce an exception but I can't figure out how to input the
> command line arguments.

You can mess around with sys.argv, but I'm not sure if that
is kosher...

>>> import sys
>>> sys.argv[0] = ''
>>> sys.argv[1:] = '-x foo -y bla filename'.split()
>>> sys.argv
['', '-x', 'foo', '-y', 'bla', 'filename']

If the program defines a "if __name__ == "__main__"
block, you're out of luck, though. import will not execute
the code in the block.


More information about the Python-list mailing list