下のような行間を挟んだ長いshellコマンド(run.sh)があります。
これをpythonのsubprocessで実行したいのですが、行間があるためうまくsubprocess
の中に組み込めません。
run.sh
zsh
1#!/bin/sh 2CLAESES=1 3FIL=$(( (CLAESES+5)*3 )) 4rm cfg/yolov4.cfg 5cp cfg/src-yolov4.cfg cfg/yolov4.cfg 6mv cfg/yolov4.cfg cfg/yolov4.cfg.bak 7cat cfg/yolov4.cfg.bak | sed -e "s/filters=255/filters=${FIL}/g" -e "s/classes=80/classes=${CLAESES}/g" > cfg/yolov4.cfg 8rm cfg/*bak
python
1import subprocess 2com = ["CLAESES=1", "rm", "cfg/yolov4.cfg", "cp", "cfg/src-yolov4.cfg", "cfg/yolov4.cfg"] 3subprocess.run(com) 4>>>> 5 restore_signals, start_new_session) 6 File "/opt/anaconda3/lib/python3.6/subprocess.py", line 1364, in _execute_child 7 raise child_exception_type(errno_num, err_msg, err_filename) 8FileNotFoundError: [Errno 2] No such file or directory: 'CLAESES=1': 'CLAESES=1'
長い上のshellコマンドをpythonのsubprocessで実行する方法を教えていただけないでしょうか?よろしくお願いします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/09 22:04
2021/12/09 23:51