我正在创建一个菜单驱动的python脚本,但我也想添加命令行参数的功能,例如,如果用户必须选择第二个选项,他可以按常规方式执行操作,即在要求输入选择时按2或通过传递命令行参数直接选择2。
为此,我正在使用sys
模块。并检查用户是否传递了任何命令行参数(如果没有传递),然后调用该函数,该函数将打印选项并要求用户输入其选择(如上所述的正常方式)
根据示例,命令将为$ python3 choice.py 2
但是在执行此操作时会出错,并且无法弄清楚出了什么问题,这就是执行方法。
import sys
.
.
.
if sys.argv[2]:
if sys.argv1[2] == 1:
choose_one()
elif sys.argv[2] == 2:
choose_two()
elif sys.arg[2] == 3:
choose_three()
else:
choose_option() #If none of these command line args then call the function which would print options and let user choose
错误:
File "choice.py", line 3, in <module>
if sys.argv[2]:
IndexError: list index out of range
基本上,如果他想快速运行用户,我愿意给他两个选项,他可以传递命令行参数,绕过通常的阅读选择选项,然后输入选择。