Bash
為 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
你有多種選擇,因為你已經使用了
sed
,我建議python3 script.py $(sed -e '/^#/d' -e 's/=/ /' -e 's/^/--/' ${THIS_FILE_DIR}/model.conf )
在哪裡
- 用於
-e
指定多個 sed 命令'/^#/d'
刪除以開頭的行#
's/^/--/'
將行首替換為--