如何解决如何在 argparse 中使用可选参数?
在以下源代码中,可选参数 txt
和 rtf
无法正常工作。
程序必须能够将 txt
或 rtf
作为参数,而不是两者。
from argparse import ArgumentParser
class MainClass:
@classmethod
def main(cls):
print("[Start of Main]")
# initialize argument parser
my_parser = ArgumentParser()
my_parser.add_argument("-i",help="input directory",type=str)
my_parser.add_argument("-o",help="output directory",type=str)
my_parser.add_argument("--txt",help="output as .txt files")
my_parser.add_argument("--rtf",help="output as .rtf files")
# parse the argument
args = my_parser.parse_args()
if args.i is None:
print("INPUT: current directory")
else:
print("INPUT: specific directory " + args.i)
if args.o is None:
print("OUTPUT: current directory")
else:
print("OUTPUT: specific directory " + args.o)
if args.txt is not None and args.rtf is not None:
print("Default output is .txt")
elif args.txt is None and args.rtf is None:
print("Default output is .txt")
elif args.txt is not None:
print(".txt output")
elif args.rtf is not None:
print(".rtf output")
print("[End of Main]")
if __name__ == '__main__':
MainClass.main()
C:\Users\pc\source\>python command_line_args_test.py -o "c:\\" --rtf
[Start of Main]
INPUT: current directory
OUTPUT: specific directory c:\ --rtf
Default output is .txt
[End of Main]
我该如何解决?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。