与sys.argv()纠缠

时间:2019-11-20 08:29:46

标签: python python-3.x

我正在创建一个菜单驱动的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

基本上,如果他想快速运行用户,我愿意给他两个选项,他可以传递命令行参数,绕过通常的阅读选择选项,然后输入选择。

0 个答案:

没有答案
相关问题