Просто используйте os.chdir(path)
.
Что-то вроде:
import os
from itertools import izip
paths = ('/local/mnt/myspace/sample1', '../sample2',
'../', '../', 'myspace/sample9/', '../sample3']
commands = (func1, func2, func3, func4, func5, func6)
for path, command in izip(paths, commands):
os.chdir(path)
command()
И просто поместите каждую команду в функцию.
Редактировать:Я думал, что это разные команды Python , которые вы хотели запускать в разных каталогах.Если это разные внешние программы, используйте:
commands = (['cmd1', 'arg1'], ['cmd2', 'arg2'], ...)
for path, command in izip(paths, commands):
os.chdir(path)
subprocess.call(command)
Нет смысла использовать Popen
и wait
, когда это именно то, для чего call
.