繁体   English   中英

Argparse 教程示例在 windows 命令行中不起作用

[英]Argparse tutorial example doesn't work in windows command line

因此,我正在尝试通过此处的教程自学如何使用 python 库argparse 该示例由以下保存为tut.py的代码给出。

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                const=sum, default=max,
                help='sum the integers (default: find the max)')

args = parser.parse_args()
print(args.accumulate(args.integers))

在本教程中,他们在命令行中的每个命令之前都放了一个$ ,这是由于我认为他们使用了 Linux。 首先,如果我在我的 windows 命令行中添加一个$在任何命令之前我得到错误

The "$" command was either misspelled or could not be found.

如果我再跑

 python tut.py 1 2 3 4

我没有收到错误,但命令行中也没有显示任何 output。 可以预期的是这些整数的总和。

如何使 output 出现在命令提示符中?

一开始我并不认为指定我使用anaconda分发版对 python 很重要,但事实证明使用 anaconda 命令提示符而不是 windows 1 解决了这个问题。

Output

(base) C:\Users\Admin\Desktop\HiWi\Codect>python tut.py 1 2 3 4
4

(base) C:\Users\Admin\Desktop\HiWi\Codect>python tut.py 1 2 3 4 --sum
10

(base) C:\Users\Admin\Desktop\HiWi\Codect>

使用此代码获取一些 n 通过 arguments:tut.py

import argparse

parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
                help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
                const=sum, default=max,
                help='sum the integers (default: find the max)')

args = parser.parse_args()
print(sum(args.integers))

OUTPUT

python tut.py 1 2 3 4   
10

注意:当我运行您的代码时,它运行完美

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM