Skip to content
Argument Parsing for Humans™
Python
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
LICENSE
README.rst
args.py
setup.py

README.rst

args

Argument Parsing for Humans.

Usage

Here's an example application:

import args

print 'Aruments passed in: ' + str(args.all)
print 'Files detected: ' + str(args.files)
print 'NOT files detected: ' + str(args.not_files)
print 'Grouped Arguments: ' + str(args.grouped)

No arguments:

$ tool
Aruments passed in: []
Flags detected: <args []>
Files detected: []
NOT Files detected: <args []>
Grouped Arguments: {'_': <args []>}

A few arguments:

$ tool -s this that --import this and that and this and that
Aruments passed in: ['-s', 'this', 'that', '--import', 'this', 'and', 'that', 'and', 'this', 'and', 'that']
Flags detected: <args ['-s', '--import'Files detected: []
NOT Files detected: <args ['-s', 'this', 'that', '--import', 'this', 'and', 'that', 'and', 'this', 'and', 'that']>
Grouped Arguments: {'--import': <args ['this', 'and', 'that', 'and', 'this', 'and', 'that']>, '_': <args []>, '-s': <args ['this', 'that']>}

A few expanded file arguments:

$ tool *.py
Aruments passed in: ['args.py', 'setup.py']
Flags detected: <args []>
Files detected: ['args.py', 'setup.py']
NOT Files detected: <args []>
Grouped Arguments: {'_': <args ['args.py', 'setup.py']>}

A few non-expanded file arguments:

$ tool '*.py'
Aruments passed in: ['*.py']
Flags detected: <args []>
Files detected: ['args.py', 'setup.py']
NOT Files detected: <args []>
Grouped Arguments: {'_': <args ['*.py']>}

A few mixed files/flags/arguments:

$ tool '*.py' --test test face book -s ~/.ssh
Aruments passed in: ['*.py', '--test', 'test', 'face', 'book', '-s', '/Users/kreitz/.ssh']
Flags detected: <args ['--test', '-s']>
Files detected: ['args.py', 'setup.py', '/Users/kreitz/.ssh/id_rsa', '/Users/kreitz/.ssh/id_rsa.pub', '/Users/kreitz/.ssh/known_hosts']
NOT Files detected: <args ['--test', 'test', 'face', 'book', '-s']>
Grouped Arguments: {'--test': <args ['test', 'face', 'book']>, '_': <args ['*.py']>, '-s': <args ['/Users/kreitz/.ssh']>}

Installation

Installation is simple with pip:

$ pip install args
Something went wrong with that request. Please try again.