是的价值观系统argv串?我需要名单

2024-10-01 15:46:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个在命令提示符下运行以下命令的VBA脚本:

D:\WinPython-64bit-2.7.10.3\python-2.7.10.amd64\python.exe D:\GITREPOS\PythonInertia\govlauncher.py [1.1304891,0.5510243,-10.5614766,64.1317974,9483.8000655,9309.4488664,906.3935329,-25.6269843,198.8456995,167.5522187] [0,0,0,0,0,0,0,0,0,0] [0,0,0,0,0,0,0,0,0,0] On 3.8 1800 1900 88.5 -13.64 10 61 16 39.465 True 

它运行一个名为政府发布.py这需要一堆参数,我正在使用系统argv[1] 或者系统argv[n] 一。在

勒死了,系统argv[1] 显示为[1.1304891,0.5510243,-10.5614766,64.1317974,9483.8000655,9309.4488664,906.3935329,-25.6269843,198.8456995,167.5522187]这正是我想要的。。。但它是一个字符串,而不是我预期的列表。在

是所有的价值观系统argv[0]到系统argv[14] 会是字符串类型吗?我该怎么把它们换成我需要的?在


Tags: 字符串py命令脚本on系统vbaexe
3条回答

不要直接从sys.argv读取,使用命令解析器,例如^{}。这样可以轻松地传递和转换多个类型;您不需要手动将不同的字符串转换为所需的类型,只需指定在定义参数时应将参数强制转换为哪种类型。在

您可以将int列表作为参数传递,方法是将其作为参数添加并指定包含的类型:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--list', nargs='+', type=int)

可以使用split()函数以逗号分隔字符串,该函数返回一个列表

可以使用^{}将字符串解析为文本

import ast
s = "[1.1304891,0.5510243,-10.5614766,64.1317974,9483.8000655,9309.4488664,906.3935329,-25.6269843,198.8456995,167.5522187]"
x = ast.literal_eval(s)
print (x)
print (type(x))

输出:

^{pr2}$

相关问题 更多 >

    热门问题