Use something like:
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--ifile",
dest='original_filename',
help="Filename where headers are to be replaced",
action="store")
parser.add_argument("-b", "--bfile",
dest='replace_original_filename',
help="Filename containing body",
action="store")
parser.add_argument("-o", "--ofile",
dest='out_filename',
help="Output filename",
action="store")
args = parser.parse_args()
print('original_filename: {}'.format(args.original_filename))
print('replace_original_filename: {}'.format(args.replace_original_filename))
print('out_filename: {}'.format(args.out_filename))
if __name__ == '__main__':
main()
test from command line with:
python TestArgs.py -i 'Myinput1.txt' -b 'MyInput2.txt' -o 'Myoutput.txt'
results:
Output:
λ python TestArgs.py -i 'Myinput1.txt' -b 'MyInput2.txt' -o 'Myoutput.txt'
original_filename: 'Myinput1.txt'
replace_original_filename: 'MyInput2.txt'
out_filename: 'Myoutput.txt'
or with help (-h):
Output:
λ python TestArgs.py -h
usage: TestArgs.py [-h] [-i ORIGINAL_FILENAME] [-b REPLACE_ORIGINAL_FILENAME]
[-o OUT_FILENAME]
optional arguments:
-h, --help show this help message and exit
-i ORIGINAL_FILENAME, --ifile ORIGINAL_FILENAME
Filename where headers are to be replaced
-b REPLACE_ORIGINAL_FILENAME, --bfile REPLACE_ORIGINAL_FILENAME
Filename containing body
-o OUT_FILENAME, --ofile OUT_FILENAME
Output filename