как упростить? что бы не писать каждый раз os.system('')?
как упростить? что бы не писать каждый раз os.system('')?
у меня написан bat file (3) как легко перенести в python
Источник: Stack Overflow на русском
как упростить? что бы не писать каждый раз os.system('')?
у меня написан bat file (3) как легко перенести в python
Создайте функцию, и передавайте ей нужные команды в цикле из списка комманд, из файла, БД, да откуда угодно:
Python:
import os
# Список комманд
commands = ['command 1', 'command 2', ]
# Фукция для выполнения комманд
def execute(command):
os.system(str(command))
# Цикл выполнит все команды из списка
for command in commands:
execute(command)
p.s В данном, простом примере мы храним команды в списке, в котором можем изменять, добавлять, удалять, исправлять нужные команды, больше не вмешиваясь в код.
Данные надо хранить удобно. Простой текст с именами сервисов проще всего поддерживать. Всё остальное в цикл и код:
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. В коде из строк убираются пробелы - можно делать отступы. Пустые строки пропускаются - многострочный литерал хранит лишние пустые строки в начале и в конце. Кроме того можно разбивать список на группы пустыми строками-разделителями.