Is it possible to have an argument parser like this?
import argparse
parser.add_argument('query2target.bam', help='A bam file containing contigs from \'query\' aligned to contigs in \'target\'')
args = parser.parse_args()
q2t = args.query2target.bam
I want the parser name to be 'query2target.bam' but then when I go to name a variable after it, q2t = args.query2target.bam it thinks that the extension is a function method. How do I solve this without renaming the argument?
Never mind my previous answer. There actually is a clean solution to this problem; writing a custom action for the ArgumentParser:
import argparse
class Q2TAction(argparse.Action):
def __call__(self, parser, namespace, values, option_string):
self.query2target = values
parser = argparse.ArgumentParser()
q2taction = parser.add_argument("query2target.bam", action=Q2TAction)
parser.parse_args()
print(q2taction.query2target)
Use the dest parameter.
parser.add_argument('query2target.bam', dest='query2target', help="...")
args = parser.parse_args()
q2t = args.query2target
http://docs.python.org/dev/library/argparse.html
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With