Запустить .bat-файл с параметром средствами Python

Рейтинг: 0Ответов: 2Опубликовано: 05.02.2023

Есть батник, который делает определенные действия с текстовым файлом и запускается с параметром имени этого текстового файла:

example.bat 1.txt

Подскажите, плиз, как запускать этот процесс в цикле из питоновского кода. Гугление дало разные способы, но все дают ошибку

"FileNotFoundError: [WinError 2] The system cannot find the file specified"

Ответы

▲ 2

разные способы

Есть только один способ:

os.system(command)
    Execute the command (a string) in a subshell.

А ошибка, которая Вам выдаётся:

FileNotFoundError

говорит сама за себя. Вы знаете, что такое "текущий рабочий каталог"? Так вот, когда Вы запускаете свою программу, то текущим рабочим каталогом становится тот, в котором расположена Ваша питон-программа. А где расположен файл example.bat?

Если в том же каталоге, что и программа, то напишите так:

os.system("./example.bat")

А если в другом, то так:

os.system("<Полный путь в каталог>/example.bat")
▲ 0

Решилось так:

import subprocess

f = '1.txt'

subprocess.call(f'example.bat {f}', shell = False)