parser_b.add_argument("colnumbers1",type=int,nargs="+"
使用上述语句输入三个整型数字:7 6 9
使用 df = [args.colnumbers1]解析后,应该是[[7 6 9]]
print(df) #这个list打印出来了
再使用 df1 = sum(df, [])降为一维list
print(df1) #这个list也打印出来了
但后面的两个打印语句都没有打印出来,为什么?
另外在其它的模块中,
重写了上述语句,全部都打印不出来,为什么? 难道我的Python3.8出问题了?
两个print语句不打印,没有错误信息。
dfnum = [args.colnumbers1] #提取index num
print(dfnum)
dfnum1 = sum(dfnum,[])
print(dfnum1)
print('=====')
num1 = dfnum1[0]
num2 = dfnum1[1]
num3 = dfnum1[2]
print(num3)
print('num3')
[[7, 6, 9]]
[7, 6, 9]
这是运行结果,本该在这之后有两个打印语句出来,但是没有。
我的思路是先将GUI输入的三个数字 7 6 9经过args解析为一个二维list,然后降为一维list,再通过list[0]、list[1]和list[2]取出这三个数值。
我希望将输入的三个数字经过args解析后分别赋值给三个变量
没有问题的, 完整代码如下:
命令行输入:
python tmp_num.py 7 8 9
代码:
import argparse
parser = argparse.ArgumentParser(description='test')
parser.add_argument("colnumbers1", type=int, nargs="+")
args = parser.parse_args()
print(args)
dfnum = [args.colnumbers1] # 提取index num
print(dfnum)
dfnum1 = sum(dfnum, [])
print(dfnum1)
print('=====')
num1 = dfnum1[0]
num2 = dfnum1[1]
num3 = dfnum1[2]
print(num1)
print(num2)
print(num3)
输出:
Namespace(colnumbers1=[7, 8, 9])
[[7, 8, 9]]
[7, 8, 9]
=====
7
8
9
Process finished with exit code 0