2

Pythonスクリプトのサブディレクトリでbashスクリプトを実行しようとしています。この bash スクリプトは、現在のディレクトリにあるかのようにすべてのアクションを実行する必要があります。ディレクトリを引数として渡し、それを使用してすべての呼び出しを指示する以外に、これを行う方法はありますか?

基本的に、次のようなものです

for i in range(1,100):
     subprocess.call(['/some%s/task.sh' % i, arg1])

スクリプトの内容は、some%s ディレクトリ内のファイルで機能します。

4

2 に答える 2

0

はい、

ループの直前に現在の作業ディレクトリをプログラムで保存し、subprocess.call の前に現在の作業ディレクトリを /some%s に変更し、完了したら元の値に戻します。

import os
Orig = os.path.abspath('.')
for i in range(1,100):
    os.chdir('/some%s' % i)
    subprocess.call(['./task.sh' % i, arg1])
os.chdir(Orig)
于 2013-06-28T14:20:11.967 に答える