【问题标题】:How can I handle the command line exception in python?如何处理python中的命令行异常?
【发布时间】:2020-10-11 06:56:03
【问题描述】:
import sys

num_1 = sys.argv[1]
num_2 = sys.argv[1]
print(num_1)
print(num_2)

我该如何处理这个异常?

【问题讨论】:

  • 据我所知,这里也不例外。此代码有效,并且应该可以正确运行。请编辑您的问题以在您的机器上包含此代码的输出,以便我们查看错误所在。
  • 在执行程序时,我正在编写 python3 2 3。但它打印 2 2 次。所以我想为此处理异常。

标签: python python-3.x exception try-except index-error


【解决方案1】:

我在 python3 中运行你的代码,它会抛出一个 IndexError: list index out of range

解决办法

import sys

try:
        num_1 = sys.argv[1]
        num_2 = sys.argv[2]
        print(num_1)
        print(num_2)

except IndexError:
       
        print("list index out of range")


【讨论】:

    【解决方案2】:

    如果你想传递两个数字作为参数,那么你需要修复 sys.argv 的索引

    import sys
    
    num_1 = sys.argv[1]
    num_2 = sys.argv[2]
    print(num_1)
    print(num_2)
    

    现在何时运行脚本...

    $ python test.py 2 3
    2
    3
    

    【讨论】:

    • 您的代码中没有异常需要处理。因此,您只需要修复代码的逻辑即可执行您的任务。
    • 我们能否处理不同值具有相同索引的异常。我的意思是,如果两个参数相同,它将显示异常。
    • 不完全是。你是这里的编码员,运行你的脚本的用户不能直接控制代码,这意味着你只能用正确的逻辑编写这样的程序。如果有两个变量使用相同的参数初始化,您可以自行删除或更改它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多