몇 가지 명령줄 매개변수를 사용하여 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/^/--/'
줄의 시작 부분을 다음으로 바꿉니다.--