Python 스크립트 입력을 위한 매개변수를 동적으로 생성합니다.

Python 스크립트 입력을 위한 매개변수를 동적으로 생성합니다.

몇 가지 명령줄 매개변수를 사용하여 Python 스크립트를 호출합니다. 예를 들면 다음과 같습니다.

python3 script.py --run 1 --filepath "this/file/dir"

이제 다음을 사용하여 구성 파일의 매개변수를 구문 분석하려고 합니다.

grep -v '^#' ${THIS_FILE_DIR}/model.conf | sed 's/=/ /' | xargs  -I% echo "--%"

그러면 내가 원하는 문자열이 생성됩니다.

--run 1
--filepath this/file/dir

대략 다음과 같이 이 문자열을 Python 명령에 동적으로 입력하는 방법이 있습니까?

python3 script.py $(grep -v '^#' ${THIS_FILE_DIR}/model.conf | sed 's/=/ /' | xargs  -I% echo "--%")

참조용 Conf 파일

# vars
run=1
filepath=this/file/dir

답변1

사용해본 이후로 여러 가지 옵션이 있습니다 sed. 추천합니다.

python3 script.py $(sed -e '/^#/d' -e 's/=/ /' -e 's/^/--/' ${THIS_FILE_DIR}/model.conf )

어디

  • -e여러 sed 명령을 지정 하는 데 사용됩니다.
  • '/^#/d'다음으로 시작하는 줄 삭제#
  • 's/^/--/'줄의 시작 부분을 다음으로 바꿉니다.--

관련 정보