- Функция system() модуля os в Python.
- Запустить/выполнить внешнюю команду в оболочке.
- Синтаксис:
- Параметры:
- Возвращаемое значение:
- Описание:
- Модуль platform в Python, информация о системе.
- Различная информацию об операционной системе и языке Python.
- Содержание:
- Кроссплатформенные функции.
- platform.architecture(executable=sys.executable, bits=», linkage=») :
- platform.machine() :
- platform.node() :
- platform.platform(aliased=0, terse=0) :
- platform.processor() :
- platform.python_build() :
- platform.python_compiler() :
- platform.python_branch() :
- platform.python_implementation() :
- platform.python_revision() :
- platform.python_version() :
- platform.python_version_tuple() :
- platform.release() :
- platform.system() :
- platform.system_alias(system, release, version) :
- platform.version() :
- platform.uname() :
- Функции платформы Java
- platform.java_ver(release=», vendor=», vminfo=(», », »), osinfo=(», », »)) :
- Функции платформы Windows
- platform.win32_ver(release=», version=», csd=», ptype=») :
- platform.win32_edition() :
- platform.win32_is_iot() :
- Функции платформы Mac OS.
- platform.mac_ver(release=», versioninfo=(», », »), machine=») :
- Функции платформы Unix.
- platform.libc_ver(executable=sys.executable, lib=», version=», chunksize=16384) :
- platform — Access to underlying platform’s identifying data¶
- Cross Platform¶
- Java Platform¶
- Windows Platform¶
- Mac OS Platform¶
- Unix Platforms¶
Функция system() модуля os в Python.
Запустить/выполнить внешнюю команду в оболочке.
Синтаксис:
Параметры:
Возвращаемое значение:
Описание:
Функция system() модуля os выполняет команду command в подоболочке ( subshell ). Это реализуется путем вызова стандартной функции языка Си system() и имеет те же ограничения. Изменения в sys.stdin и т. д. не отражаются в среде выполняемой команды. Если команда генерирует какой-либо вывод, он будет отправлен в стандартный поток вывода интерпретатора.
В Unix возвращаемое значение является состоянием выхода процесса, закодированного в формате, указанном как для функции os.wait() . Обратите внимание, что POSIX не определяет значение возвращаемого значения функции Си system() , поэтому возвращаемое значение функции Python зависит от системы.
В Windows возвращаемое значение возвращается системной оболочкой после выполнения команды. Оболочка задается переменной среды Windows COMSPEC: обычно это cmd.exe , который возвращает состояние завершения выполнения команды. В системах, использующих не нативную оболочку, смотрите документацию по вашей оболочке.
Используйте эту функцию, если надо тупо запустить что-то из кода Python и не ждать результатов выполнения, по принципу — запустил и забыл.
Другими словами, запуская команду функцией os.system(cmd) НЕ получиться получить/перенаправить вывод, который дает команда/программа cmd . Для извлечения данных из стандартного потока вывода воспользуйтесь модулем subprocess или по крайней мере функцией os.popen() :
Модуль subprocess предоставляет более мощные средства для порождения новых процессов и получения их результатов. Использование модуля subprocess предпочтительнее, чем использование этой функции.
Модуль platform в Python, информация о системе.
Различная информацию об операционной системе и языке Python.
Python часто используется в качестве кроссплатформенного языка и иногда необходимо знать, на какой системе работает программа.
Например, инструмент для управления сетевой конфигурацией операционной системы может определять переносимое представление сетевых интерфейсов, псевдонимов, IP-адресов и т. д., но когда приходит время редактировать файлы конфигурации, то Python должен знать больше о хосте, чтобы использовать правильные команды и файлы конфигурации операционной системы.
Модуль platform включает в себя инструменты для получения сведений об аппаратной платформе, операционной системе и интерпретаторе на которой выполняется программа.
Содержание:
- Кроссплатформенные функции:
- Информации об архитектуре platform.architecture() ,
- Тип машины platform.machine() ,
- Сетевое имя компьютера platform.node() ,
- Сведения о базовой платформе platform.platform() ,
- Реальное имя процессора platform.processor() ,
- Номер и дата сборки Python platform.python_build() ,
- Версия компилятора platform.python_compiler() ,
- Ветвь SCM реализации Python platform.python_branch() ,
- Реализация Python platform.python_implementation() ,
- Ревизия SCM реализации Python platform.python_revision() ,
- Версия Python как строка platform.python_version() ,
- Версия Python как кортеж platform.python_version_tuple() ,
- Сведения о выпуске системы platform.release() ,
- Имя операционной системы platform.system() ,
- platform.system_alias() ,
- Версия выпуска системы platform.version() ,
- Сведения команды терминала uname platform.uname() ,
- Функции платформы Java:
- Версия интерфейса для Jython platform.java_ver() ,
- Функции платформы Windows:
- Информация о версии из реестра Windows platform.win32_ver() ,
- Текущая редакция Windows platform.win32_edition() ,
- True, если Windows, распознается как IoT platform.win32_is_iot() ,
- Функции платформы Mac OS:
- Информация о версии Mac OS platform.mac_ver() ,
- Функции платформы Unix:
- Версия библиотеки libc platform.libc_ver() ,
Кроссплатформенные функции.
platform.architecture(executable=sys.executable, bits=», linkage=») :
Функция platform.architecture() запрашивает исполняемый файл executable для получения различной информации об архитектуре. По умолчанию двоичный файл интерпретатора Python.
Возвращает кортеж (bits, linkage), который содержит информацию об архитектуре битов и формате связи, используемом для исполняемого файла. Оба значения возвращаются в виде строк.
Значения, которые не могут быть определены, возвращаются в соответствии с предустановками параметров. Если биты заданы как » , то sizeof(pointer) используется в качестве индикатора для поддерживаемого размера указателя.
Функция полагается на системную команду file для выполнения реальной работы. Это доступно на большинстве, если не на всех платформах Unix и некоторых не-Unix платформах и только в том случае, если исполняемый файл указывает на интерпретатор Python.
Примечание.
В Mac OS X (и, возможно, на других платформах) исполняемые файлы могут быть универсальными файлами с несколькими архитектурами. Чтобы получить 64-разрядность текущего интерпретатора, более надежно запросить атрибут sys.maxsize :
platform.machine() :
Функция platform.machine() возвращает тип машины, например ‘I386’. Если значение не может быть определено, то возвращается пустая строка.
platform.node() :
Функция platform.node() возвращает сетевое имя компьютера, может быть не полностью! Если значение не может быть определено, то возвращается пустая строка..
platform.platform(aliased=0, terse=0) :
Функция platform.platform() возвращает одну строку, идентифицирующую базовую платформу, с максимально возможным количеством полезной информации.
Вывод предназначен для чтения человеком, а не для машинного анализа. Это может выглядеть по-разному на разных платформах, и это предназначено.
Если aliased имеет значение True , функция будет использовать псевдонимы для различных платформ, которые сообщают имена систем, которые отличаются от их общих имен, например SunOS будет сообщаться как Solaris.
При установке значения terse в значение True функция возвращает только абсолютный минимум информации, необходимой для идентификации платформы.
platform.processor() :
Функция platform.processor() возвращает реальное имя процессора, например ‘Amdk6’.
Возвращается пустая строка, если значение не может быть определено. Обратите внимание, что многие платформы не предоставляют эту информацию или просто возвращают то же значение, что и для platform.machine() .
platform.python_build() :
Функция platform.python_build() возвращает кортеж (buildno, builddate) с указанием номера и даты сборки Python в виде строк.
platform.python_compiler() :
Функция platform.python_compiler() возвращает строку, идентифицирующую компилятор, используемый для компиляции Python.
platform.python_branch() :
Функция platform.python_branch() возвращает строку, идентифицирующую ветвь SCM реализации Python.
platform.python_implementation() :
Функция platform.python_implementation() возвращает строку, идентифицирующую реализацию Python. Возможные возвращаемые значения: ‘CPython’ , ‘IronPython’ , ‘Jython’ , ‘PyPy’ .
platform.python_revision() :
Функция platform.python_revision() возвращает строку, идентифицирующую ревизию SCM реализации Python.
platform.python_version() :
Функция platform.python_version() возвращает версию Python в виде строки ‘major.minor.patchlevel’ .
Обратите внимание, что в отличие от Python sys.version() , возвращаемое значение всегда будет включать уровень исправления (по умолчанию 0).
platform.python_version_tuple() :
Функция platform.python_version_tuple() возвращает версию Python как кортеж (major, minor, patchlevel) строк.
Обратите внимание, что в отличие от Python sys.version, возвращаемое значение всегда будет включать уровень исправления (по умолчанию он равен 0).
platform.release() :
Функция platform.release() возвращает выпуск системы, например, ‘2.2.0’ или ‘NT’. Если значение не может быть определено, то возвращается пустая строка.
platform.system() :
Функция platform.system() возвращает имя операционной системы такое как ‘Linux’ , ‘Darwin’ , ‘Java’ , ‘Windows’ . Если значение не может быть определено, то возвращается пустая строка.
platform.system_alias(system, release, version) :
Функция platform.system_alias() возвращает (system, release, version) , связанные с общими маркетинговыми именами, используемыми в некоторых системах.
platform.version() :
Функция platform.version() возвращает версию выпуска системы, например ‘#3 on degas’ . Если значение не может быть определено, то возвращается пустая строка.
platform.uname() :
Функция platform.uname() представляет портативный интерфейс команды uname. Возвращает именованный кортеж, содержащий шесть атрибутов: system , node , release , version , machine и processor .
Обратите внимание, что функция platform.uname() добавляет шестой атрибут ( processor ), отсутствующий в результате os.uname(). Кроме того, имена атрибутов отличаются для первых двух атрибутов. Функция оs.uname() называет их sysname и nodename .
Записи, которые не могут быть определены, выводятся как » .
Функции платформы Java
platform.java_ver(release=», vendor=», vminfo=(», », »), osinfo=(», », »)) :
Функция platform.java_ver() возвращает версию интерфейса для Jython.
Возвращает кортеж (release, vendor, vminfo, osinfo) , где vminfo является кортежем (vm_name, vm_release, vm_vendor) , а osinfo — кортежем (os_name, os_version, os_arch) . Значения, которые не могут быть определены, устанавливаются на значения по умолчанию — пустая строка » .
Функции платформы Windows
platform.win32_ver(release=», version=», csd=», ptype=») :
Функция platform.win32_ver() получает дополнительную информацию о версии из реестра Windows и возвращает кортеж (release, version, csd, ptype) , относящийся к выпуску ОС, номеру версии, уровню CSD (пакет обновления) и типу ОС (многопроцессорный/однопроцессорный).
Подсказка: ptype это ‘Uniprocessor Free’ на однопроцессорных машинах NT и ‘Multiprocessor Free’ на многопроцессорных машинах. ‘Free’ относится к версии ОС, свободной от кода отладки. Он также может указывать ‘Checked’ , что означает, что версия ОС использует код отладки, то есть код, который проверяет аргументы, диапазоны и т. д.
Примечание. Эта функция лучше всего работает с установленным пакетом win32all Марка Хаммонда. Очевидно, что функция platform.win32_ver() работает только на Win32-совместимых платформах.
platform.win32_edition() :
Функция platform.win32_edition() возвращает строку, представляющую текущую редакцию Windows. Возможные значения включают, но не ограничиваются: ‘Enterprise’ , ‘IoTUAP’ , ‘ServerStandard’ и ‘nanoserver’.
platform.win32_is_iot() :
Функция platform.win32_is_iot() возвращает True , если версия Windows, возвращенная platform.win32_edition() , распознается как версия IoT .
Функции платформы Mac OS.
platform.mac_ver(release=», versioninfo=(», », »), machine=») :
Функция platform.mac_ver() Получите информацию о версии Mac OS и возвращает ее как кортеж (release, versioninfo, machine) , а versioninfo так-же является кортежем (version, dev_stage, non_release_version) .
Записи, которые не могут быть определены, выводятся как пустая строка » . Все записи кортежа являются строками.
Функции платформы Unix.
platform.libc_ver(executable=sys.executable, lib=», version=», chunksize=16384) :
Функция platform.libc_ver() пытается определить версию libc , с которой связан исполняемый файл, по умолчанию интерпретатор Python.
Возвращает кортеж строк (lib, version) , которые по умолчанию соответствуют заданным параметрам в случае сбоя поиска.
Обратите внимание, что эта функция хорошо знает, как разные версии libc добавляют символы к исполняемому файлу. Можно использовать только для исполняемых файлов, скомпилированных с использованием gcc .
Файл читается и сканируется кусками байтов.
platform — Access to underlying platform’s identifying data¶
Source code: Lib/platform.py
Specific platforms listed alphabetically, with Linux included in the Unix section.
Cross Platform¶
Queries the given executable (defaults to the Python interpreter binary) for various architecture information.
Returns a tuple (bits, linkage) which contain information about the bit architecture and the linkage format used for the executable. Both values are returned as strings.
Values that cannot be determined are returned as given by the parameter presets. If bits is given as » , the sizeof(pointer) (or sizeof(long) on Python version file command to do the actual work. This is available on most if not all Unix platforms and some non-Unix platforms and then only if the executable points to the Python interpreter. Reasonable defaults are used when the above needs are not met.
On Mac OS X (and perhaps other platforms), executable files may be universal files containing multiple architectures.
To get at the “64-bitness” of the current interpreter, it is more reliable to query the sys.maxsize attribute:
Returns the machine type, e.g. ‘i386’ . An empty string is returned if the value cannot be determined.
Returns the computer’s network name (may not be fully qualified!). An empty string is returned if the value cannot be determined.
platform. platform ( aliased=0, terse=0 ) В¶
Returns a single string identifying the underlying platform with as much useful information as possible.
The output is intended to be human readable rather than machine parseable. It may look different on different platforms and this is intended.
If aliased is true, the function will use aliases for various platforms that report system names which differ from their common names, for example SunOS will be reported as Solaris. The system_alias() function is used to implement this.
Setting terse to true causes the function to return only the absolute minimum information needed to identify the platform.
Changed in version 3.8: On macOS, the function now uses mac_ver() , if it returns a non-empty release string, to get the macOS version rather than the darwin version.
Returns the (real) processor name, e.g. ‘amdk6’ .
An empty string is returned if the value cannot be determined. Note that many platforms do not provide this information or simply return the same value as for machine() . NetBSD does this.
Returns a tuple (buildno, builddate) stating the Python build number and date as strings.
Returns a string identifying the compiler used for compiling Python.
Returns a string identifying the Python implementation SCM branch.
Returns a string identifying the Python implementation. Possible return values are: вЂCPython’, вЂIronPython’, вЂJython’, вЂPyPy’.
Returns a string identifying the Python implementation SCM revision.
Returns the Python version as string ‘major.minor.patchlevel’ .
Note that unlike the Python sys.version , the returned value will always include the patchlevel (it defaults to 0).
Returns the Python version as tuple (major, minor, patchlevel) of strings.
Note that unlike the Python sys.version , the returned value will always include the patchlevel (it defaults to ‘0’ ).
Returns the system’s release, e.g. ‘2.2.0’ or ‘NT’ An empty string is returned if the value cannot be determined.
Returns the system/OS name, such as ‘Linux’ , ‘Darwin’ , ‘Java’ , ‘Windows’ . An empty string is returned if the value cannot be determined.
platform. system_alias ( system, release, version ) В¶
Returns (system, release, version) aliased to common marketing names used for some systems. It also does some reordering of the information in some cases where it would otherwise cause confusion.
Returns the system’s release version, e.g. ‘#3 on degas’ . An empty string is returned if the value cannot be determined.
Fairly portable uname interface. Returns a namedtuple() containing six attributes: system , node , release , version , machine , and processor .
Note that this adds a sixth attribute ( processor ) not present in the os.uname() result. Also, the attribute names are different for the first two attributes; os.uname() names them sysname and nodename .
Entries which cannot be determined are set to » .
Changed in version 3.3: Result changed from a tuple to a namedtuple.
Java Platform¶
Version interface for Jython.
Returns a tuple (release, vendor, vminfo, osinfo) with vminfo being a tuple (vm_name, vm_release, vm_vendor) and osinfo being a tuple (os_name, os_version, os_arch) . Values which cannot be determined are set to the defaults given as parameters (which all default to » ).
Windows Platform¶
Get additional version information from the Windows Registry and return a tuple (release, version, csd, ptype) referring to OS release, version number, CSD level (service pack) and OS type (multi/single processor).
As a hint: ptype is ‘Uniprocessor Free’ on single processor NT machines and ‘Multiprocessor Free’ on multi processor machines. The вЂFree’ refers to the OS version being free of debugging code. It could also state вЂChecked’ which means the OS version uses debugging code, i.e. code that checks arguments, ranges, etc.
Returns a string representing the current Windows edition. Possible values include but are not limited to ‘Enterprise’ , ‘IoTUAP’ , ‘ServerStandard’ , and ‘nanoserver’ .
New in version 3.8.
Return True if the Windows edition returned by win32_edition() is recognized as an IoT edition.
New in version 3.8.
Mac OS Platform¶
Get Mac OS version information and return it as tuple (release, versioninfo, machine) with versioninfo being a tuple (version, dev_stage, non_release_version) .
Entries which cannot be determined are set to » . All tuple entries are strings.
Unix Platforms¶
Tries to determine the libc version against which the file executable (defaults to the Python interpreter) is linked. Returns a tuple of strings (lib, version) which default to the given parameters in case the lookup fails.
Note that this function has intimate knowledge of how different libc versions add symbols to the executable is probably only usable for executables compiled using gcc.
The file is read and scanned in chunks of chunksize bytes.