Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Python's command line arguments and environment variables
- python3 [option] ... [-c cmd | -m mod | file | -] [arg] ...
- Options and arguments (and corresponding environment variables):
- -b : issue warnings about str(bytes_instance), str(bytearray_instance)
- and comparing bytes/bytearray with str. (-bb: issue errors)
- -B : don't write .py[co] files on import; also PYTHONDONTWRITEBYTECODE=x
- -c cmd : program passed in as string (terminates option list)
- -d : debug output from parser; also PYTHONDEBUG=x
- -E : ignore PYTHON* environment variables (such as PYTHONPATH)
- -h : print this help message and exit (also --help)
- -i : inspect interactively after running script; forces a prompt even
- if stdin does not appear to be a terminal; also PYTHONINSPECT=x
- -I : isolate Python from the user's environment (implies -E and -s)
- -m mod : run library module as a script (terminates option list)
- -O : optimize generated bytecode slightly; also PYTHONOPTIMIZE=x
- -OO : remove doc-strings in addition to the -O optimizations
- -q : don't print version and copyright messages on interactive startup
- -s : don't add user site directory to sys.path; also PYTHONNOUSERSITE
- -S : don't imply 'import site' on initialization
- -u : unbuffered binary stdout and stderr, stdin always buffered;
- also PYTHONUNBUFFERED=x
- see man page for details on internal buffering relating to '-u'
- -v : verbose (trace import statements); also PYTHONVERBOSE=x
- can be supplied multiple times to increase verbosity
- -V : print the Python version number and exit (also --version)
- -W arg : warning control; arg is action:message:category:module:lineno
- also PYTHONWARNINGS=arg
- -x : skip first line of source, allowing use of non-Unix forms of #!cmd
- -X opt : set implementation-specific option
- file : program read from script file
- - : program read from stdin (default; interactive mode if a tty)
- arg ...: arguments passed to program in sys.argv[1:]
- Other environment variables:
- PYTHONSTARTUP: file executed on interactive startup (no default)
- PYTHONPATH : ':'-separated list of directories prefixed to the
- default module search path. The result is sys.path.
- PYTHONHOME : alternate <prefix> directory (or <prefix>:<exec_prefix>).
- The default module search path uses <prefix>/pythonX.X.
- PYTHONCASEOK : ignore case in 'import' statements (Windows).
- PYTHONIOENCODING: Encoding[:errors] used for stdin/stdout/stderr.
- PYTHONFAULTHANDLER: dump the Python traceback on fatal errors.
- PYTHONHASHSEED: if this variable is set to 'random', a random value is used
- to seed the hashes of str, bytes and datetime objects. It can also be
- set to an integer in the range [0,4294967295] to get hash values with a
- predictable seed.
- The Python sys module provides access to any command-line arguments via the sys.argv. This serves two purposes −
- sys.argv is the list of command-line arguments.
- len(sys.argv) is the number of command-line arguments.
- Here sys.argv[0] is the program ie. script name.
- Example
- Consider the following script test.py −
- #!/usr/bin/python
- import sys
- print 'Number of arguments:', len(sys.argv), 'arguments.'
- print 'Argument List:', str(sys.argv)
- Now run above script as follows −
- $ python test.py arg1 arg2 arg3
- This produce following result −
- Number of arguments: 4 arguments.
- Argument List: ['test.py', 'arg1', 'arg2', 'arg3']
- NOTE: As mentioned above, first argument is always script name and it is also being counted in number of arguments.
Advertisement
Add Comment
Please, Sign In to add comment