Посмотрите подпроцесс модуль в стандартной библиотеке:
import subprocess
subprocess.run(["ls", "-l"])
преимущество subprocess
по сравнению с system
состоит в том, что это более гибко (можно добраться stdout
, stderr
, "реальный" код состояния, лучшая обработка ошибок, и т.д....).
официальная документация рекомендует subprocess
модуль по альтернативе os.system()
:
subprocess
модуль предоставляет более мощные средства для порождения новых процессов и получения их результатов; использование того модуля предпочтительно для использования этой функции [os.system()
].
Заменяющие Более старые Функции с разделом Module подпроцесса в subprocess
документация может иметь некоторые полезные рецепты.
Для версий Python прежде 3.5, используйте call
:
import subprocess
subprocess.call(["ls", "-l"])
Mingw - это не только компиляторы, это также библиотеки и заголовки (и любые другие вспомогательные файлы, которые могут вам понадобиться).
GCC - это просто компилятор. Mingw - это полноценная среда.
MingW предназначен для упрощения переноса приложений Posix в Windows. Это просто более тонкий слой, чем CygWin, поэтому не все может работать там, где окна слишком разные. CygWin обеспечивает достаточную изоляцию, чтобы запускались даже инструменты сценариев для сборки и генерации кода.
Изменить: Microsoft очень любит создавать собственные стандарты и хочет поставить собственный бренд на те вещи, для которых уже существуют открытые стандарты. т.е. OpenGL -> DirectX, Java -> .net, OpenCL - следующий стандарт, от которого они хотят отказаться. Это делает их немного затруднительным для не спонсируемого проекта, чтобы поддержать их в качестве цели. Они всегда отворачивались от всего, что позволяет легко кросс-платформенную разработку, потому что они хотят, чтобы вы разработали свое приложение только для этой ОС. Это маркетинговая стратегия, контролирующая бренд, контролирующая платформу и заставляющая людей поддерживать другие ОС. MingW требуется, потому что GCC может генерировать код x86, но даже самая базовая поддержка времени выполнения отличается от ОС на основе Posix.
ну, в то время как вы можете использовать кросс-компилятор для создания двоичных кодов win32 / 64 из GCC, тем не менее, кто-то должен перенести все библиотеки времени выполнения C. И Mingw, и Cygwin созданы для этой цели.
С основного сайта MinGW
Предлагается в формате легко устанавливаемого двоичного пакета для собственного развертывания в MS-Windows или создается пользователем из исходного кода для кросс-хостинга в Unix или GNU / Linux, пакет использует стандартные системные библиотеки DLL Microsoft для обеспечения C-Runtime и Windows API.