python - 从bash将数组传递给python参数
问题描述
我有一些foo.py
带有许多参数的 python 脚本。在我argparse import ArgumentParser
用来解析它们的那个脚本里面。
我想从 bash 传递一个数组作为其中一个的值。我试过了:
python foo.py --arg1=1 --arrArg=[1,2] --arg3=x
当我在脚本中打印它们时,我得到:
arg1=1
arrArg=['1',',','2']
arg3=x
如何将数组作为 bash 中的数字传递?
解决方案
如果您自己使用脚本,并且只有您自己,那么您可以使用eval()
. 但请注意,这不是一个非常安全的功能。当您不知道输入是什么时,永远不要使用它。
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('--arr',
help='Array of integers')
args = parser.parse_args()
data = eval(args.arr)
print(type(data))
print(data)
否则,使用nargs='+'
argparse 的参数:
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('--arr', nargs='+', type=int,
help='Array of integers')
args = parser.parse_args()
data = args.arr
print(type(data))
print(data)
并调用你的脚本python foo.py --arr 1 2 3 --bla blablabla
推荐阅读
- java - 无法使用 JPA 保存具有 OneToMany 映射的实体
- python - 如何在python中创建下载栏
- javascript - 如何将 JavaScript 注入匿名作用域
- java - 输入文本后自定义Edittext隐藏pin bar
- javascript - 使用 JavaScript 获取所有表单元素
- angular-material - 在悬停时更改 mat-badge-content 的颜色
- python - 是否有任何方法可以在将图像上传到我的 tkinter fyi 窗口之前为用户提供调整图像大小的选项
- jquery - 无法访问 json 对象中可验证的 jquery
- php - Joomla 如何从外部脚本调用控制器
- android - 什么是好方法,InflateView/removeView 或设置 Visibility.GONE?