On Tuesday, June 27, 2017 at 11:47:42 AM UTC-4, Didymus wrote: > On Tuesday, June 27, 2017 at 9:56:13 AM UTC-4, Didymus wrote: > > Greetings, > > > > I might be barking up the wrong tree, but was wondering if there's a way to > > have the argpasre epilog call a function. for example: > > > > epilog=Examples() > > > > Where Examples is: > > > > def Examples(): > > text = """Lots of examples""" > > print(text.format()) > > > > I've place this in and found that it prints out no matter if I use the -h or > > not and also it prints first.... If I do: > > > > epilog='Single Example' > > > > it works as intended, unfortunately, I need to show several examples. Just > > wondering if someone has found a why to do this (without making a custom > > help). > > > > thanks > > Tom > Well, I thought I had a good idea to work around this by setting a string to > the formatted text and then use that string in the epilog: > > text = Example() > # > parser = argparse.ArgumentParser(prog=sys.argv[0], > description="Example Arg Parse", > epilog=text) > > I had to change the Example function to return the string and in a print it > works fine, however when used in the argsparse, the formatting is lost... > > -T
Greetings, I got what I was looking for: def Examples(): text = """Lots of examples""" return text.format() parser = argparse.ArgumentParser(prog=sys.argv[0], formatter_class=argparse.RawTextHelpFormatter, description="Argparse Example", epilog=text) The key here is the "formatter_class=argparse.RawTestHelpFormatter". Once I set that the epilog prints out nicely formatted: % ./test.py -h usage: ./test.py [-h] [-n NAME] [-f | -m | -r | -v] Argparse Example. optional arguments: -h, --help show this help message and exit -n NAME, --name NAME Name to be created. Examples: Ex 1: ./test.py -n juser Ex 2: ./test.py -n juser -r ... Thanks for all the help. -Tom -- https://mail.python.org/mailman/listinfo/python-list