将 Bash 数组传递给 Python 脚本

将 Bash 数组传递给 Python 脚本

problem_list我在将 bash 数组发送到 python 脚本时遇到问题update_contest.py。这是我的代码:

bash 文件:

echo $problems
declare -a problem_list
for i in $problems;
do
    problem_list+=($i)
done
echo ${problem_list[@]}
python3 update_contest.py $id ${problem_list[@]}

蟒蛇文件:

id = (sys.argv)[1]
problem_list = (sys.argv)[2]
print(problem_list)

终端输出:

A B C D E
A B C D E
A

可以看出,在 Problem_list 中只有 A 作为参数传递。

答案1

您使用 2 对参数列表进行索引,因此仅返回其第二个元素,即第一个参数。

将此行替换problem_list = (sys.argv)[2]problem_list = sys.argv[2:-1].

https://docs.python.org/3/library/sys.html

相关内容