Ответ 1
В первой строке раздела Rationale
PEP 338 говорится:
Python 2.4 добавляет переключатель командной строки -m, чтобы разрешить размещение модулей с использованием пространства имён модулей Python для выполнения в виде скриптов. Мотивационными примерами были стандартные библиотечные модули, такие как pdb и profile, а реализация Python 2.4 подходит для этой ограниченной цели.
Таким образом, вы можете указать любой модуль в пути поиска Python таким образом, а не только файлы в текущем каталоге. Вы правы, что python mymod1.py mymod2.py args
имеет точно такой же эффект. В первой строке раздела Scope of this proposal
указано:
В Python 2.4 модуль, расположенный с использованием -m, выполняется так же, как если бы его имя файла было предоставлено в командной строке.
С -m
возможно больше, например, работа с модулями, которые являются частью пакета, и т.д. Что касается остальной части PEP 338. Прочтите его для получения дополнительной информации.