Как узнать разрядность python
Перейти к содержимому

Как узнать разрядность python

  • автор:

Как определить, работает ли моя оболочка python в 32-битном или 64-битном режиме на OS X?

Мне нужен способ сказать, в каком режиме оболочка находится внутри оболочки.

Я пытался просмотреть модуль платформы, но, похоже, он только говорит вам о битовая архитектура и формат компоновки, используемый для исполняемого файла «: двоичный файл скомпилирован как 64-битный, хотя (я работаю на OS X 10.6), поэтому он, кажется, всегда сообщает о 64-битном, даже если я использую методы описанный здесь для включения 32-битного режима).

14 ответов

ОБНОВЛЕНО : Один из способов — посмотреть на sys.maxsize как здесь:

sys.maxsize был представлен в Python 2.6. Если вам нужен тест для более старых систем, этот немного более сложный тест должен работать на всех выпусках Python 2 и 3:

Кстати, у вас может возникнуть желание использовать platform.architecture() для этого. К сожалению, его результаты не всегда надежны, особенно в случае универсальных двоичных файлов OS X .

При запуске интерпретатора Python в терминале / командной строке вы также можете увидеть строку вроде:

Python 2.7.2 (default, Jun 12 2011, 14:24:46) [MSC v.1500 64 bit (AMD64)] on win32

Где [MSC v.1500 64 bit (AMD64)] означает 64-битный Python. Работает для моей конкретной настройки.

Сделайте python -VV в командной строке. Должен вернуть версию.

Для непрограммного решения, посмотрите в мониторе активности. Он перечисляет архитектуру 64-битных процессов как «Intel (64-бит)».

Архитектура платформы не является надежным способом. Вместо нас:

В основном вариант ответа Мэтью Маршалла (со структурой из std.library):

Примечание. В Mac OS X (и, возможно, на других платформах) исполняемые файлы могут быть универсальными файлами с несколькими архитектурами.

Чтобы получить «64-битность» текущего интерпретатора, более надежно запросить атрибут sys.maxsize:

В моей системе Centos Linux я сделал следующее:

1) Запустил интерпретатор Python (я использую 2.6.6)
2) Запустил следующий код:

3.5.1 (v3.5.1: 37a07cee5969, 6 декабря 2015, 01:54:25) [MSC v.1900 64 бит (AMD64) ]

Попробуйте использовать ctypes, чтобы получить размер пустого указателя:

Это будет 4 для 32 бит или 8 для 64 бит.

struct.calcsize(«P») возвращает размер байтов, необходимых для хранения одного указателя. В 32-битной системе он вернул бы 4 байта. В 64-битной системе он вернул бы 8 байтов.

Поэтому следующее вернет 32 , если вы работаете с 32-битным питоном, и 64 , если вы работаете с 64-битным питоном:

Python 2

Python 3

platform.architecture() проблематично (и дорого).

Удобно тестируйте sys.maxsize > 2**32 начиная с Py2.6.

Это надежный тест для фактического (по умолчанию) размера указателя и совместимый по крайней мере с Py2.3: struct.calcsize(‘P’) == 8 . Также: ctypes.sizeof(ctypes.c_void_p) == 8 .

Примечания: Могут быть сборки с опцией gcc -mx32 или около того, которые являются приложениями 64-битной архитектуры, но по умолчанию используют 32-битные указатели (экономия памяти и скорости). «sys.maxsize = ssize_t» не может строго представлять размер указателя C (обычно это 2**31 — 1 в любом случае). И были / есть системы, которые имеют разные размеры указателя для кода и данных, и необходимо уточнить, что именно является целью определения «32-битного или 64-битного режима?»

Открыть консоль Python:

Он должен отображать «64-битный» или «32-битный» в зависимости от вашей платформы.

В качестве альтернативы (в случае двоичных файлов OS X):

Как проверить версию Python в различных ОС

Итак, вы, ребята, хотите знать, как проверить версию Python. Простой ответ-запустить python-V в терминале командной строки или оболочке.

  • Автор записи

Итак, вы, ребята, нажали на эту статью, чтобы узнать решение Как проверить версию Python. Простой ответ – запустить python -V в терминале командной строки или оболочке.

В этой статье мы предоставим вам информацию о том, как проверить версию Python в вашей операционной системе. Это может быть полезно при установке приложений, требующих определенной версии Python.

Мы также покажем вам, как программно определить, какая версия Python установлена в системе, в которой запущен скрипт Python. Например, при написании скриптов Python вам нужно будет определить, поддерживает ли скрипт версию Python, установленную на компьютере пользователя.

Python-это интерпретируемый, высокоуровневый язык программирования общего назначения. Созданная Гвидо ван Россумом и впервые выпущенная в 1991 году, философия дизайна Python подчеркивает читабельность кода с заметным использованием значительных пробелов.

Как выполняется управление версиями Python

Выпуски Python production-ready версируются по следующей схеме:

Например, в Python 3.6.8 3 является основной версией, 1 – второстепенной версией, а 2 – микро-версией.

  • МАЙОР – Python имеет две основные версии, которые не полностью совместимы: Python 2 и Python 3. Например, 3.5.7, 3.7.2 и 3.8.0 являются частью основной версии Python 3.
  • МИНОР – Эти релизы приносят новые функции и функции. Например, 3.6.6, 3.6.7 и 3.6.8 являются частью младшей версии Python 3.6.
  • МИКРО – Как правило, новые микро-версии содержат различные исправления ошибок и улучшения.

Как проверить версию Python в Windows

Windows не имеет предустановленного Python. Поэтому установщик по умолчанию включен python.org это x86, который может не быть архитектурой вашего ПК. Таким образом, информация о типе процессора доступна в настройках Windows. Однако если ваша система основана на процессоре x64, вам необходимо загрузить установщик x86-64.

Windows не имеет предустановленного Python. Поэтому установщик по умолчанию включен python.org это x86, который может не быть архитектурой вашего ПК. Таким образом, информация о типе процессора доступна в настройках Windows. Однако если ваша система основана на процессоре x64, вам необходимо загрузить установщик x86-64 с Python.

  1. Откройте Поиск Windows. Если вы еще не видите окно поиска на панели задач, нажмите на увеличительное стекло или кружок рядом с ним.

, или нажмите ⊞ Win+S.

2. Введите python в строку поиска. Появится список совпадающих результатов.

Найдите версию в первой строке. Это число сразу после слова “Python” в левом верхнем углу окна (например, 2.7.14).

Как проверить версию Python в Windows 7

Шаги для проверки версии Python в вашей операционной системе Windows 7:

  1. Откройте приложение командной строки: Нажмите клавишу Windows или перейдите к значку Windows на панели задач , чтобы открыть начальный экран. После этого в поле поиска введите CMD. Нажмите клавишу enter.
  2. Выполните команду: введите python -V или python –version и нажмите клавишу enter.
  3. Итак, наконец, версия Python появляется в следующей строке под вашей командой.

Как проверить версию Python в Linux

Большинство современных дистрибутивов Linux поставляются с предустановленным Python.

Чтобы проверить установленную версию, откройте окно терминала и введите следующее:

Python 2

Python 3

  • # – требует, чтобы данные команды Linux выполнялись с привилегиями root либо непосредственно как пользователь root, либо с помощью команды sudo
  • $ – требует, чтобы данные команды Linux выполнялись как обычный непривилегированный пользователь

В вашей системе могут быть установлены версии Python2 и Python3. Первый намек на версию python, установленную вашей системой, заключается в проверке установленного двоичного исполняемого файла python:

Другой путь, по которому можно установить двоичные файлы Python, – это/usr/local/bin/. Как вы можете видеть, в нашей системе установлены версии Python 2 и Python 3.

Как проверить версию Python в Mac OS

Python, вероятно, уже установлен в вашей системе. Чтобы проверить, установлен ли он, перейдите в раздел Applications>Utilities и нажмите на Terminal. (Вы также можете нажать клавишу command-пробел, ввести terminal, а затем нажать Enter.)

Узнайте, какая версия Python установлена, выполнив команду python –version:

Если вы видите что-то подобное, Python 2.7-это ваша версия по умолчанию. Вы также должны посмотреть, установлен ли у вас Python 3:

Как проверить версию Python в CentOS

1. Проверьте версию Python:

2. После этого введите командную строку python:

3. Для выхода выполните следующую команду:

Как проверить версию Python в Raspberry Pi

В Raspberry Pi, чтобы проверить версию Python в командной строке, запустите python с опцией “-V”:$ python -V$ python3 -V$ pypy -V

Чтобы проверить запуск версии python в коде python:

Как проверить версию Python в файле.vimrc

Во-первых, проверьте, есть ли у вас Python в вашем Vim и какую версию вы используете. Кроме того, он возвращает версию, аналогичную тому, как Vim делает это со своей версией. Таким образом, 204-это результат для Python 2.4, 207-для Python 2.7 и так далее.

Теперь мы можем создавать плагины/пакеты в зависимости от версий:

Как проверить версию Python в скрипте

Используйте следующий фрагмент кода, чтобы проверить правильность версии Python:

Когда этот скрипт запустится, он проверит, установлен ли в системе Python 3.7. Однако если нет, то он отправит уведомление и отобразит текущую версию Python.

Проверьте версию Python с помощью sys. версия

Однако иногда вам нужно проверить версию Python программно, из вашего скрипта Python. Тогда вам лучше всего использовать модуль sys:

Выход должен быть именованным кортежем, как этот:

Как проверить версию Python программно

Python2 и Python3 принципиально различны. Код, написанный на Python 2.x, может не работать в Python 3.x.

Кроме того, модуль sys, доступный во всех версиях Python, предоставляет системные параметры и функции. Поэтому sys.version_info позволяет определить версию Python, установленную в системе. Прежде всего, это кортеж, содержащий пять номеров версий: major, minor, micro, release level и serial.

Если вы запустите скрипт с использованием Python версии менее 3.5 он выдаст следующий результат:

Как проверить версию Python С помощью функции python_version()

Еще одна функция для проверки версии python-это функция python_version (). Но сначала нам нужно импортировать модуль платформы, как показано ниже.

Список всех версий Python:

  • Бета-версия Python
  • Python 1.0
  • Python 2.0
  • Python 3.0

Дата выхода бета-версии Python

Так как первоначальная версия Python была выпущена в 1991 году. Так что это был 0.9.0, а не полный номер 1, так как он еще не был готов к прайм-тайму. Эти версии были выпущены по следующему графику:

  • Python 0.9.0 – 20 февраля 1991 г.
  • Python 0.9.1 – Февраль 1991
  • Python 0.9.2 – Осень 1991 года
  • Python 0.9.4 – 24 декабря 1991 г.
  • Python 0.9.5 – 2 января 1992 г.
  • Python 0.9.6 – 6 апреля 1992 г.
  • Python 0.9.8 – 9 января 1993 г.
  • Python 0.9.9 – 29 июля 1993 г.

Версия Python 1.0-Дата выхода

Первая официальная версия Python была выпущена в 1994 году.

  • Python 1.0 – Январь 1994
  • Python 1.2 – 10 апреля 1995 г.
  • Python 1.3 – 12 октября 1995 г.
  • Python 1.4 – 25 октября 1996 г.
  • Python 1.5 – 31 декабря 1997 г.
  • Python 1.6 – 5 сентября 2000 г.

Версия Python 2.0-Дата выхода

Выпущенный в 2000 году, Python 2.0 не только предлагал целый ряд новых функций, но и новая версия была переведена на основанный на сообществе, совместный язык с открытым исходным кодом.

  • Python 2.0 – 16 октября 2000 г.
  • Python 2.1 – 15 апреля 2001 г.
  • Python 2.2 – 21 декабря 2001 г.
  • Python 2.3 – 29 июля 2003 г.
  • Python 2.4 – 30 ноября 2004 г.
  • Python 2.5 – 19 сентября 2006 г.
  • Python 2.6 – 1 октября 2008 г.
  • Python 2.7 – 4 июля 2010 г.

Python 2.7 был последним релизом в серии 2.x. В ноябре 2014 года было объявлено, что Python 2.7 будет поддерживаться до 2020 года, но пользователям было рекомендовано как можно скорее перейти на Python 3.

Версия Python 3.0-Дата выхода

Python 3.0 также известен как “Python 3000” или “Py3K”, и это текущая основная версия Python.

  • Python 3.0 – 3 декабря 2008 г.
  • Python 3.1 – 27 июня 2009 г.
  • Python 3.2 – 20 февраля 2011 г.
  • Python 3.3 – 29 сентября 2012 г.
  • Python 3.4 – 16 марта 2014 г.
  • Python 3.5 – 13 сентября 2015 г.
  • Python 3.6 – 23 декабря 2016 г.
  • Python 3.7 – 27 июня 2018 г.
  • Python 3.8 – 14 октября 2019 г.
  • Python 3.9 – 5 октября 2019 г.

Python Удалить дубликаты Из спискаPython Print Without NewlineLearn Python the Hard Way Review PDFHow to Get a Data Science Internship With No ExperiencePython Map

Вывод

Поэтому мы попытались рассказать о том, как проверить версию Python в различных ОС, и это легко, просто не забывайте делать это время от времени – возможно, поместив напоминание в свой календарь.

В заключение, если у вас все еще есть некоторые проблемы относительно того, как проверить версию Python, вы можете Прокомментировать ниже.

Python-сообщество

Чтото гугл не помог. Задача в следующем: скриптом нужно определить тип и версию операционной системы и в зависимости от того в какой операционной системе запущен скрипт, выполнить соответствующий код допустимый в данной ОС. Питон 2.6.5.

Отредактировано (Июль 9, 2010 14:59:27)

#2 Июль 9, 2010 15:07:30

Автоматическое определение ОС.

#3 Июль 9, 2010 15:58:30

Автоматическое определение ОС.

#4 Июль 10, 2010 07:37:20

Автоматическое определение ОС.

#5 Июль 10, 2010 11:33:30

Автоматическое определение ОС.

По-моему get_platform возвращает то же самое, что и sys.platform. При этом разрядность системы вряд ли удастся определить, т.к. даже на х64 этот метод возвращает win32, видимо, из-за того, что интерпретатор работаем в x86 режиме.

Кстати, есть еще один способ:

#6 Июль 10, 2010 15:51:56

Автоматическое определение ОС.

я использовал platform.architecture()
разрядность определяется на ура.
Для моей убунты это (’64bit’, ‘ELF’)
Что было на XP и Vista — не помню, но 64bit/32bit присутствовало. Использовал это для создания платформозависимых оберток на ctypes.
sys.platform/platform.system() определяют семейство операционной системы — ‘linux2’ и ‘Linux’ в моем случае соответственно.

‘win32’ вносит некоторую путаницу, но это собирательное название для Microsoft Windows начиная с Windows 95 — безотносительно к архитектуре процессора, на котором исполняется код. Т.е. даже Windows Mobile на ARM покажет ‘win32’, если ничего не путаю.

#7 Июль 10, 2010 17:43:08

Автоматическое определение ОС.

Насчет win32 вы правы, я и не говорил, что ожидал чего-то в духе “win64”, я предпологал, что на x64 увижу что-то вроде “win32-x64”.
Кстати, модуль platform на Win7 x64 работает вот так:

Отредактировано (Июль 10, 2010 17:43:48)

#8 Июль 11, 2010 00:49:12

Автоматическое определение ОС.

надо полагать, у вас все же 32 битный питон, работающий в Wow64.
platform.architecture возвращает архитектуру для вызвавшего его процесса.
Для винды я бы вызывал GetVersionEx/GetSystemInfo/GetNativeSystemInfo через ctypes

#9 Июль 11, 2010 01:57:28

Автоматическое определение ОС.

Так и есть, я об этом писал выше.

С помощью GetVersionExW получилось, но слегка замороченно как-то…
Я более простой метод нашел:

Отредактировано (Июль 11, 2010 02:00:58)

#10 Июль 11, 2010 23:15:58

Автоматическое определение ОС.

за информацию о 2.7/3.2 спасибо, не знал.
Только какое-то немного сомнительное решение.
Рассмотрим такую ситуацию: мне нужно подключать разные dll в зависимости от используемой архитектуры.
В старом подходе все было ясно. Теперь же прийдется делать какую-то другую проверку. Ведь если у меня 32 битный питон, то уже не столь важно, какая разрядность у самой винды — будут работать только 32 битные расширения и точка.

К переменным окружения отношусь несколько настороженно. При запуске дочернего процесса они, конечно, наследуются по умолчанию. Но вместе с тем запускающий процесс может установить их как душа пожелает или вообще сбросить. Получится, что ваш код имеет шанс неправильно отработать только из-за того, что криворукий программист сделал несовсем корректную заускалку. Выяснение проблемы может быть непростым, а все что вы услышите будет звучать как “программа ххх не работает, если я вызываю ее через subprocess”. Поверьте, я такое не раз видел.

Статья Получаем информацию о системе с помощью Python. Часть #1

Информация о системе. Это всегда лакомый кусочек для каждого, кто имеет хоть какое-то отношение к сбору информации. Ведь чем больше информации о системе будет собрано, тем легче будет в будущем идентифицировать клиента. Составить его индивидуальный отпечаток, по которому он будет безошибочно определятся. Для примера можно взять активацию операционной системы Windows. Вы еще не успели зайти в параметры и настроить систему, а она уже активировалась. При наличии у вас, конечно же интернета.

000.jpg

А что же может предложить Python в этом плане? Скажем так, много чего интересного. Если задастся вопросом, то можно углубляться в эту тему, тему сбора информации, очень долгое время. И порою, кажется, что этой теме нет конца. Как говорил Козьма Прутков: «Нельзя объять необъятное».

Давайте же узнаем, как с помощью Python собрать информацию об операционной системе и желательно, в перспективе и о его железной составляющей. Ведь чем большей информацией мы владеем, тем больше простора для действий.

Что понадобиться?

Из того, что нужно устанавливать, нам понадобиться библиотека psutil. Установить ее можно с помощью команды:

pip install psutil

Также нужно импортировать библиотеку json и модуль uname из библиотеки platform. Давайте сделаем это:

Итак, необходимые библиотеки установлены и импортированы, пора приступать к написанию программы. Что она должна уметь? Получать информацию о версии ОС, процессоре, RAM и прочих интересных подробностях. То есть, для начала, нам нужен сборщик информации, который пробежится по всем доступным параметрам и сложит их, к примеру, в словарь для удобства дальнейшего использования и чтения. Ну и конечно же, нужно вывести полученную информацию на экран. Хотя, это вовсе не обязательно. И нужно, чтобы это можно было легко отключить. А соответственно, понадобиться отдельная функция для печати. Ну и определение версии операционной системы. На данном этапе это не существенно. Так как те библиотеки, что используются в настоящее время, кроссплатформенные. Но, если мы хотим усовершенствовать программу и получить от нее еще больше результатов, это совершенно необходимо. Давайте же приступим.

На начальном этапе создадим функцию, с помощью которой будем переводить большое количество байтов, то есть информацию об объеме или частоте в формат, который будет удобен для восприятия. Назову ее def correct_size(bts, ending=’iB’). На входе она будет получать число, которое нужно перевести в воспринимаемый формат, и тут же укажем префикс для того, чтобы он автоматически подставлялся к полученному значению. Создадим список, в котором будут содержаться буквы, обозначающие определенный размер: килобайты, мегабайты, гигабайты, террабайты и петабайты. Мало ли что

После запустим цикл, в котором будет определено условие, срабатывающее тогда, когда количество байтов меньше 1024, то будем возвращать количество байтов и единицы измерения. В том случае, если условие не сработало, то байты будем делить целочисленно на size.

Сбор информации

Теперь можно приступить к сбору информации. Создадим функцию creating_file(), в которой и будем это делать. Создадим словарь, в который и будем складывать полученные значения по мере их поступления. Затем добавляем в словарь раздел «info». Это делается с помощью условия, в котором проверяется, есть ли такое значение в текущем словаре. Если его нет, то создаем и далее складываем в него получаемую информацию. Первым разделом в словаре будет system, в котором уже из названия понятно, что в нем будет содержаться информация о системе. Та, до которой сможем дотянуться на первоначальном этапе.

Для начала узнаем имя компьютера с помощью модуля uname() и его функции node. Кладем его в словарь. С помощью функции system модуля uname() узнаем наименование операционной системы: uname().system. Затем ее релиз, то есть, что это за версия. Семерка, десятка или восьмерка с помощью uname().release. Ее номер сборки: uname().version, а также архитектуру: 32 или 64 с помощью uname().machine.

Теперь переходим к процессору. Особо много информации мы не получим. Но хотя бы что-то. Получаем его семейство с помощью функции uname().processor. Записываем его в словарь и тут уже настало время подключить библиотеку psutil. С помощью нее узнаем количество физических ядер: psutil.cpu_count(logical=False). Для этого параметр logical ставим в значение False. Затем узнаем общее количество ядер: psutil.cpu_count(logical=True). Тут уже logical=True. И максимальную частоту, до которой способен турбиться данный процессор: psutil.cpu_freq().max:.2f>Мгц. Еще можно получить минимальную частоту, а также текущую частоту процессора.

Переходим к оперативной памяти. Узнаем ее полный объем: correct_size(psutil.virtual_memory().total. Чтобы значения выводились удобно для восприятия прогоняем ее через функцию для коррекции значений. Так же получаем доступную в данный момент память: correct_size(psutil.virtual_memory().available), и тот ее объем, который используется: correct_size(psutil.virtual_memory().used).

Все это, как я и писал ранее, складываем в словарь для дальнейшего использования. Вот код скрипта до этого момента.

Что же, двигаемся дальше, по нелегкому пути сбора информации. Следующим этапом будет получение информации о дисках. Так как их может быть несколько нужно будет использовать функцию, чтобы добыть все значения обо всех дисках, которые у нас в системе. Поэтому создаем цикл который будет пробегаться по значениям возвращаемым psutil.disk_partitions(). Здесь получаем с помощью psutil.disk_usage(partition.mountpoint) такие значения как имя диска, файловую систему, объем, сколько места занято и свободно, а также заполненность диска в процентах. Получение значений обернем в try – except для того, чтобы программа не вылетала с ошибкой. Потому, как попытка доступа к диску, который используется системой или другой программой, будет заблокирован. Поэтому, просто пропускаем этот этап и двигаемся далее. Ну и конечно складываем все в словарь.

Теперь получим информацию о сетевых интерфейсах, которые доступны в нашей системе. Сделаем это с помощью psutil.net_if_addrs().items(). Она возвращает такую информацию об интерфейсе как: Имя интерфейса, MAC-адрес, IPv4 и IPv6 адреса. Конечно же, в системе может быть установлено несколько сетевых адаптеров, не считая тех виртуальных адаптеров, которые добавляются программами VmWare и VirtualBox. И конечно же локальная петля, которая также является сетевым интерфейсом. Поэтому, запускаем цикл по значениям данной функции, а так как нам возвращается словарь, то отдельно определим переменную для имени интерфейса и остальных параметров. На данном этапе информацию о локальной петле я решил не включать, а просто пропустить с помощью условия. Так как мне показалось, что данная информация не особо ценна для исследования. Ну и конечно же, складываем все добытое непосильным трудом в словарь.

На выходе данная функция будет возвращать уже готовый полный словарь, который впоследствии используется для записи полученных значений в файл, а также для печати в терминале.

А теперь напишем функцию, с помощью которой будем распечатывать полученные значения в терминале, чтобы мы могли увидеть, что было собрано. На самом деле, это не самая сложная задача. Больше всего времени занимает декорирование, в буквальном смысле, вывода значений, чтобы они отображались приятно для глаза пользователя. Ну, то есть вас или меня. Того, кто будет пользоваться или просто протестирует данную программу.

Создадим функцию def print_info(dict_info), которая на входе получает собранный ранее словарь. Ну и далее запускаем цикл, в котором пробегаемся по всем значениям. Тут важный момент состоит в том, чтобы определить, какое из значений является вложенным словарем, чтобы и из него забрать все значения. Поэтому пишем условия, в которых определяем, является ли значение разделом со словарем. Если да, то заходим в него и забираем значения уже оттуда. После чего формируем принт с помощью f-строки и выводим на экран.

А теперь перейдем к функции main(), из которой все и запускается. Для начала определяем операционную систему с помощью uname().system и в зависимости от этого запускаем тот или иной код. На данном этапе, как вы видите, он одинаков. Так как определение операционной системы понадобиться в дальнейшем. Это для того, чтобы не использовать функции и команды предназначенные для Windows в Linux и наоборот. Ну и тут же производиться запись полученных значений в файл. Чтобы в потом можно было его легко читать и при необходимости даже использовать, возможно, в какой-нибудь утилите.

А теперь, чтобы вы понимали, как выглядит работа данной утилиты, предоставлю пару скриншотов из Windows и Linux, чтобы посмотреть, что там и там скрипт отрабатывает одинаково.

Результат работы программы в Windows:

screenshot1.png

Обратите внимание на то, что был создан JSON файл с именем компьютера и содержащий информацию о нем:

screenshot2.png

А это результат работы программы в Linux:

screenshot3.png

В результате работы программы также был создан JSON с параметрами системы. То, что некоторые параметры не отображаются, это не потому, что произошла ошибка, а потому, что код был запущен на виртуаках, на которых данных параметров просто нет. Как например толковой информации о процессоре.

Обратите внимание еще и на то, что для работы скрипта не требуются права администратора в Windows или суперпользователя в Linux. Все происходит от текущего пользователя с ограниченными правами в тихом и мирном режиме. Ничего, можно сказать, даже не шелохнется.

Хотя, тут, наверное, надо упомянуть, что, если собрать данный скрипт в exe с помощью того же PyInstaller, сразу же просыпается антивирусник и начинает почем зря лаять на бедную софтину. Мол троян, бэкдор, вредоносный код. Впрочем, как я почитал, антивирусники относятся к данного вида сборкам не очень благосклонно. Так как файл представляет собой не полноценный скомпилированный exe-файл, а что-то вроде архива, то во время работы он и распаковывается во временную директорию. А антивирусникам это не нравиться. Причем, независимо от того, какой у вас будет там код. Хоть «Hello Word» сделайте. А ругаться все равно будет. Так что, это не особо приятный факт. Но, думаю, что победить его можно. По крайней мере, нужно искать решения.

А на этом, на сегодня, пожалуй, все. В следующей части добавим еще парочку функций, которые уже будут более детально шерстить Windows. Даже попробуем достать лицензионный ключ, с помощью которого она активируется, независимо от того, зашит ли он в BIOS или просто вводился вручную. Ну или это цифровая лицензия. До встречи в следующей части.

Спасибо за внимание. Надеюсь, что данный код будет кому-нибудь полезен

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *