【问题标题】:how to do simple addtion using argv function in python如何在python中使用argv函数进行简单的添加
【发布时间】:2018-08-18 20:31:40
【问题描述】:

我想在python 中使用argv 进行简单的添加。

这是我的代码:

import sys

x = int(sys.argv[1])
y = int(sys.argv[2])
z = x + y

print(z)

我在python 3.4 中运行这个程序,但它正在抛出IndexError

有什么建议吗?

【问题讨论】:

标签: python python-3.x


【解决方案1】:

您如何尝试运行您的脚本? 我在我的 linux 机器上运行了“python3.6 sample.py 1 2”。这对我有用。 如果您在尝试执行代码时没有提供足够的参数,则会抛出索引错误。正如你提到的 sys.argv[2]。您必须在文件名后提供至少 2 个参数才能运行此代码。

比如你运行类似“python3.6 sample.py 1”这样的代码会抛出索引错误。

【讨论】:

  • 当我在命令提示符下运行它时,它正在工作。但是当我在 IDLE python shell 中运行时,它会抛出索引错误。
【解决方案2】:

该错误表明您的脚本没有获得您尝试访问的足够参数。

尝试打印 sys.argv 以查看实际传入的内容。

或者您可以构建更健壮的代码:

import sys

def calc():
    print('argv:', sys.argv)

    try:
        x = int(sys.argv[1])
    except IndexError:
        print('no value for "x"')
        return
    except ValueError:
        print('value for "x" is not an integer')
        return

    try:
        y = int(sys.argv[2])
    except IndexError:
        print('no value for "y"')
        return
    except ValueError:
        print('value for "y" is not an integer')
        return

    z = x + y
    print('z: ', z)

if __name__ == '__main__':
    calc()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-27
    • 2023-02-25
    • 1970-01-01
    • 2020-09-14
    • 2011-07-16
    相关资源
    最近更新 更多