Bash 배열을 Python 스크립트에 전달

Bash 배열을 Python 스크립트에 전달

problem_listbash 배열을 Python 스크립트로 보내는 데 문제가 있습니다 update_contest.py. 이것은 내 코드입니다.

배쉬 파일:

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

보시다시피, A만이 Problem_list의 매개변수로 전달됩니다.

답변1

인수 목록을 2로 인덱싱하므로 두 번째 요소인 첫 번째 인수만 반환됩니다.

이 줄 problem_list = (sys.argv)[2]problem_list = sys.argv[2:-1].

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

관련 정보