编写一个脚本,它带有两个可选的布尔参数,“ - verbose”和“--live”,以及两个必需的字符串参数,“base”和“pattern”。请使用argparse设置命令行处理。
这是我到目前为止的问题代码,我知道我越来越接近,但事情并不完全正确。非常感谢任何帮助。感谢所有快速有用的反馈。
def main():
import argparse
parser = argparse.ArgumentParser(description='')
parser.add_argument('base', type=str)
parser.add_arguemnt('--verbose', action='store_true')
parser.add_argument('pattern', type=str)
parser.add_arguemnt('--live', action='store_true')
args = parser.parse_args()
print(args.base(args.pattern))
答案 0 :(得分:0)
默认情况下不需要字符串参数,因此您需要说明。使用参数的print语句也是错误的。
#!/usr/bin/python
import argparse
if __name__=="__main__":
parser = argparse.ArgumentParser(description='eg $python myargs.py --base arg1 --pattern arg2 [--verbose] [--live]')
parser.add_argument('--base', required=True, type=str)
parser.add_argument('--pattern', required=True, type=str)
parser.add_argument('--verbose', action='store_true')
parser.add_argument('--live', action='store_true')
args = parser.parse_args()
print "args.base=" + str(args.base)
print "args.pattern=" + str(args.pattern)
print "args.verbose=" + str(args.verbose)
print "args.live=" + str(args.live)
顶部的#!/ usr / bin / python允许直接调用脚本,虽然python必须位于那里(确认,键入$ which python),并且必须将文件设置为具有执行权限( $ chmod + x myargs.py)