как упростить? что бы не писать каждый раз os.system('')?

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

code

как я хочу как упростить? что бы не писать каждый раз os.system('')? у меня написан bat file (3) как легко перенести в python

bat

Ответы

▲ 3

Создайте функцию, и передавайте ей нужные команды в цикле из списка комманд, из файла, БД, да откуда угодно:

Python:

import os

# Список комманд
commands = ['command 1', 'command 2', ]

# Фукция для выполнения комманд
def execute(command):
    os.system(str(command))

# Цикл выполнит все команды из списка
for command in commands:
    execute(command)

p.s В данном, простом примере мы храним команды в списке, в котором можем изменять, добавлять, удалять, исправлять нужные команды, больше не вмешиваясь в код.

▲ 2

Данные надо хранить удобно. Простой текст с именами сервисов проще всего поддерживать. Всё остальное в цикл и код:

import os


services = '''
ACPI Processor Aggregator
System Timer
Generic PnP Monitor
'''

for service in services.split('\n'):
    service = service.strip()
    if service:
        os.system(f'Devmanview /disable "{service}"')

P.S. В коде из строк убираются пробелы - можно делать отступы. Пустые строки пропускаются - многострочный литерал хранит лишние пустые строки в начале и в конце. Кроме того можно разбивать список на группы пустыми строками-разделителями.