passing file from command line startup

Peter Otten __peter__ at web.de
Wed Aug 11 14:58:25 EDT 2010


Bradley Hintze wrote:

> Hi all,
> 
> Is there a way that I can startup my script and pass it a file? For
> example:
> 
> ~$ python myscript.py mytext.txt
> 
> and then access mytext.txt in myscript.py?
> 
> As a long shot, for myscript.py I tried
> 
> def __init__(fle):
>     print fle
> 
> expecting the full path to mytext.txt to be printed but that didn't work.
> 
> Obviously I've never done this. I hope the above makes sense. any help
> will be greatly appreciated.
> 
> Thanks,

You are looking for sys.argv:

$ cat tmp.py
import sys
print sys.argv
$ python tmp.py one two 'many arguments'
['tmp.py', 'one', 'two', 'many arguments']

Around that simple mechanism fancier libraries have been built:

http://docs.python.org/library/argparse.html

Peter



More information about the Python-list mailing list