Так что я хочу, чтобы позвонить на скрипт из Python, используяПочему подпроцесс цикл над тем же набором файлов через и над
from subprocess import call
на группу файлов с тем же расширением расположенные в разных каталогах. Вот то, что я до сих пор:
for path, subdirs, files in os.walk(dir_path):
for name in files:
if name.endswith(".avg"):
os.chdir(os.path.join(path))
call("shell_script *avg", shell=True)
print("creating new file for... " + name)
Но это только продолжает цикл над тем же набором файлов снова и снова, и в конечном счете, как после 5 итераций он будет переходить к следующему набору файлов и сделать то же самое , Я только нашел это, потому что я смотрю на ядро и вижу, что он снова и снова выполняет один и тот же сценарий оболочки на одном и том же файле. Где я здесь не так?
ооо я думал, что это будет изменить каталог, чтобы убедиться, что новый файл будет создан в той же директории, он нашел. Если я хотел бы добавить заданы параметры я просто положить каждый аргумент в кавычках и его значение, как так ? call ("shell_script.sh", "arg1", "value_for_arg1", shell = True, cwd = path) или вызывает оболочку = Истинная часть означает, что оболочка перенаправляет аргументы за сценариями и сценарий и аргументы должны быть одной длинной строкой, подобной так: call ("shell_script.sh arg1 value_for_arg1", shell = True, cwd = path) – e9e9s