Я хотел бы написать сценарий в python в ubuntu для выполнения нескольких серий задачи внешней программой (установленной в Ubuntu) несколько раз. Я могу запустить программу для одного файла с терминала, но я хотел бы автоматизировать ее, написав скрипт python, чтобы он мог читать файлы и выполнять задание. Как мне продолжить? заранее спасибо
Вы можете использовать системную команду или, лучше, команду подпроцесса для вызова вашего существующего приложения. Подпроцесс будет лучше для вашего случая использования, так как вы можете использовать stdout, stderr и получить код состояния для ошибок.
Используйте subprocess.run():
from subprocess import run
program = './program'
files = ['f1.txt', 'f2.txt', 'f3.txt']
if __name__ == '__main__':
for filename in files:
run([program, filename], shell=True)
Вы также можете запустить программу по набору файлов, например, те, которые имеют определенный файл, заканчивающийся, например .txt
:
from os import listdir
from subprocess import run
program = './program'
folder = 'folder/'
if __name__ == '__main__':
files = [folder + f for f in listdir(folder) if f.endswith('.txt')]
for filename in files:
run([program, filename], shell=True)