考えられるハックな解決策は、 eval
を使用することです bash に文字列を実行させます。
for idx in range(10):
!eval {"python process.py --filename /Users/images/{image}.jpg".format(image=idx)}
glob
を使用 モジュールとおそらく subprocess
!
の代わりに .シンプルな glob.glob("path/*.jpg")
すべての画像を繰り返し処理できます。
from glob import glob
from subprocess import check_call
for i in glob("/Users/images/*.jpg"):
print("Processing:", i)
check_call(["python", "process.py", "--filename", i], shell=False)
!
の使用 または eval
決して良い考えではありません - コマンドは黙って失敗するかもしれません.
!
ターミナルで次のコードが実行されることを単に示します。
したがって、1 つのオプションは、bash でステートメントをコーディングすることです。 Python ほど簡単ではありませんが、次のように同じタスクを実行できます。
! for file in /Users/images/*.jpg; do python process.py --filename /Users/images/$i; done
これは for ループですが、Python の for ループではありません。
または、process.py
のソース コードに戻ることを検討してください。 ディレクトリ内のファイルをループするように変更します。これは os.listdir
で簡単に実行できます 関数。
サブプロセスやフォーマットは必要ありません。次のような簡単なもの:
for idx in range(10):
!python process.py --filename /Users/images/{idx}.jpg
「vagrant up」すると、「お使いのマシンは NFS をサポートしていないようです」と表示されます (Debian jessie)
node-sass をインストールできないため、gulp-sass をインストールできません