Решение для многопрофильной в питоне без __name__ == '__main__' Guard [закрыто]Python

Программы на Python
Anonymous
Решение для многопрофильной в питоне без __name__ == '__main__' Guard [закрыто]

Сообщение Anonymous »

tldr
Обычно любой модуль Python, который внутренне использует многопроцесс >
С описанным трюком этот охранник больше не нужен. Люди, импортирующие такой модуль в своих сценариях, могут записать короткий и простой код - как если бы не было многопроцестрой. /> Здесь буквально десятки вопросов на Stackoverflow о порождении процесса в Python с использованием модуля Multiprocessing без использования

Код: Выделить всё

if __name__ == '__main__'
...
"Запад" пункт в основном скрипте Python 3.
Без этого пункта Multiprocessing сообщит о времени выполнения. (В противном случае основной сценарий, работающий в порожденном процессе -Независимая многопроцестра в Python. Например, я разрабатываю модуль, который облегчает аппаратное управление от Python с помощью устройства Raspberry Pi Pico. При стартапе необходимо породить отдельный процесс для эффективного трубопровода USB-связи, но такие технические сложности должны быть скрыты внутри модуля, чтобы он только обнаружил свой высокоуровневый, удобный интерфейс. < /P>
Проблема состоит в том, что «охрана» (и его отступ) должна была распространяться в каждый исполняемый файл питона, который явно или неявно использовался многопроцессор . Написание коротких сценариев Python для автоматизации лабораторных задач может быть довольно удобным даже для непрограммистов, но я не могу попросить своих коллег-ученых включить эту неловкую, невозможную особенность в каждый их сценарий. < /P>
ниже. Я предлагаю решение в качестве первого ответа; Я с нетерпением жду ваших альтернатив и комментариев. Самое главное:
  • Как вы думаете, эта функция должна быть однажды добавить в официальный Multiprocessing тоже?
    Если да, то какой канонический способ сделать это? Если нет, то что мне делать иначе?) Это может помочь другим, но я не знаю правильной политики в отношении этого.


Подробнее здесь: https://stackoverflow.com/questions/793 ... me-main-gu

Вернуться в «Python»