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/^/--/'行の先頭を次に置き換えます。--

おすすめ記事