如何解决使用 argparse Python3
嗨,任何人都可以提供帮助。我正在学习使用 argparse,我想使用命令来调用 school.py 作为学校的开始。到目前为止,我有这个,但正在努力处理这些论点。我这样做是对的还是完全错误的?
if __name__ == '__main__':
parser = argparse.ArgumentParser(description="This allows quick opening of applications used within the school day")
parser.add_argument("start",help="This will open all the standard applications used within the school day.")
parser.add_argument("engine",help="This will show the Engineering folder within Documents")
parser.add_argument("bus",help="This will show the Business folder within Documents")
parser.add_argument("cs",help="This will show the Computer Science folder within Documents")
parser.add_argument("python",help="This will open the PyCharm application")
args = parser.parse_args()
try:
if len(sys.argv) > 1:
if sys.argv[1] == "engine":
engineering()
elif sys.argv[1] == "cs":
computer_science()
elif sys.argv[1] == "python":
python()
elif sys.argv[1] == "bus":
business()
elif sys.argv[1] == "start":
std_day()
except:
print("An error has occurred")
我的错误是
usage: autoSchoolDay.py [-h] start engine bus cs python
autoSchoolDay.py: 错误:需要以下参数:engine、bus、cs、python
解决方法
parser = argparse.ArgumentParser(description="This allows quick opening of applications used within the school day")
parser.add_argument('command',choices=['start','engine','bus','cs','python'])
args = parser.parse_args()
try:
if args.command:
if args.command == "engine":
engineering()
elif args.command == "cs":
computer_science()
elif args.command == "python":
python()
elif args.command == "bus":
business()
elif args.command == "start":
std_day()
except Exception as e:
print("An error has occurred",e)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。