Як отримати дані про свою систему та комп’ютер за допомогою platform?

Зміст

Сьогодні у цій статті ми дізнаємося як отримати інформацію про свою систему та комп’ютер за допомогою модуля platform у Python. Модуль platfrom дозволяє отримувати різного роду інформацію про ОС та комп’ютер користувача. Також треба зазначити той факт, що platform — це вбудований Python модуль, тобто його треба просто імпортувати без попередньго встановлення.

Архітектура ОС

Отже, переходимо до розгляду функціоналу цього модуля. Першою ми розглянемо функцію architecture(), яка визначає архітектуру вашої системи (64-біт або 32-біт) та тип середовища, у якому запускається наш код.

Ось застосування функції:

import platform

print(platform.architecture())
('64bit', 'WindowsPE')

На виході отримуємо кортеж з описаними вище двома значеннями.

Інформація про процесор

Наступною на огляді у нас буде функція machine(), яка надає можливість отримати дані про те, який процесор стоїть на даному комп’ютері.

Ось як це виглядає:

print(platform.machine())
AMD64

Мережеве ім’я

Далі подивимося на node() — функцію, завдяки якій можна визначити мережеве ім’я комп’ютера. Ось таким чином вона працює:

print(platform.node())
DESKTOP-HL7DJDG

Мережеве ім’я існує для того, щоб до нього могли звератися для різного роду маніпуляцій з ним.

Загальна інформація про ОС

Наступним предметом нашої цікавості буде функція platform(). Щодо її прзначення, то вона виводить дані про ОС, її версію та збірку — загальну інформацію про ОС.

Працює дана функція таким чином:

print(platform.platform())
Windows-10-10.0.19045-SP0

Більш детальна інформація про процесор

Щоб отримати більш детальну інформацію процесора за допомогою platform, треба використати функцію processor(). Також важливо відмітити той факт, що processor() дає змогу отримати більш детальні дані про процесор, у той час як функція machine() повертає неповну назву з архітектурою системи того самого процесора. Після того, як ми розібралися у суті цієї функції, ми можемо поглянути на неї у дії:

print(platform.processor())
AMD64 Family 23 Model 17 Stepping 0, AuthenticAMD

І так як ми дещо порівнювали processor() та machine(), то, думаю було б добре вказати поряд приклад з machine():

print(f"processor(): {platform.processor()}\n"
      f"machine(): {platform.machine()}")
processor(): AMD64 Family 23 Model 17 Stepping 0, AuthenticAMD
machine(): AMD64

Загальна інформація про прилад

Функція uname() просто об’єднує усі дані, котрі ми отримали раніше за допомогою функцій system(), node(), release(), version() та machine(). Дивимося на неї:

print(platform.uname())
uname_result(system='Windows', node='DESKTOP-HL7DJDG', release='10', version='10.0.19045', machine='AMD64')

Збірка інтерпретатора

Функція python_build() призначена для отримання даних щодо збірки інтерпретатора мови Python. Якщо казати більш конкретно, то вона надає дані про номер збірки та дату й час збірки.

Приклад:

print(platform.python_build())
('tags/v3.9.13:6de2ca5', 'May 17 2022 16:36:42')

У результаті отримали 'tags/v3.9.13:6de2ca5' — номер збірки, 'May 17 2022 16:36:42' — дата й час.

Гілка або тег з якого була зібрана версія Python

Функція python_branch() дозволяє дізнатися з якої гілки або тегу у репозиторії Cpython зібрана ваша версія мови Python. Щодо пояснення, то код мови Python є доступним у репозиторії і у цього репозиторія є свої гілки та теги.

Cpython — це інтепретатор для мови Python, написаний на мові C, який потрібен для того, щоб виконувати код написаний на мові Python. Інтерпретатор по своїй суті просто перетворює вихідний код на так званий байт-код — це проміжний етап між вихідним та машинним кодом. Потім вже без допомоги інтерпретатора цей байт-код перетворюється на машинний, який виконує процесор і таким чином програма виконується.Гілки — це місця, у яких ведуться різного роду роботи над кодом. Тобто, наприклад, на одній гілці може вестися розробка нової версії, а на інших — підтримка вже існуючих.Теги — це такий знак, що програма вже отримала офіційний реліз. У такому випадку цим знаком позначають конкретну версію коду цієї програми. Тобто, мається на увазі, що ця версія коду — це фінальний код програми.

Задля простоти можна навести цікаву аналогію, щоб зрозуміти суть гілок та тегів. Уявіть, що ви у фруктовому саду збираєте фрукти. Сам сад має доріжку по центру і по сторонам, також рядки з фруктовими деревцями різних сортів справа та зліва. Тобто кожен рядок з якої-небудь сторони — це якийсь інший фрукт.

У такому разі гілками у нас будуть називатися рядки з фруктовими деревцями, адже як і у гілок в репозиторії на кожному рядку росте свій фрукт, тобто на кожному з рядків відбуваються різні процеси. Наприклад, на першому рядку ростуть яблуки, на другому груші, на третьому ще якісь.Тегами у нашій аналогії будуть називатися фрукти, які через доспіваання ми зібрали у кошик. Тобто ми побачили, що вони доспіли — це знак, що їх вже пора збирати.

Ось тепер вже можна подивитися приклад функції у коді:

print(platform.python_branch())
tags/v3.9.13

Отже функція показала, що моя версія мови Python — це офіційна версія мови, яка була зібрана з тегу.

Реалізація мови Python

Завдяки функції python_implementation() ми можемо дізнатися, який інтерпретарор мови Python використовується. Ось приклад:

print(platform.python_implementation())
CPython

Тобто у мене використовується інтепретатор Cpython. До речі, він є найпоширенішим серед усіх інших інтерпретаторів мови Python.

Дані про компілятор

Завдяки platform також можна отримати дані про компілятор, який використовується — цим займається функція python_compiler(). Компілятор — це конкретна програма, яка збирає інтерпретатор Cpython.

Ось приклад цієї функції:

print(platform.python_compiler())
MSC v.1929 64 bit (AMD64)

Версія мови Python

Функція python_version() просто дає визначити версію мови Python. Приклад наведений нижче:

print(platform.python_version())
3.9.13

Тут же й розглянемо також функцію python_version_tuple(), вона робить те саме, що й python_version() тільки результат виводить у формі кортежу. Ось приклад:

print(platform.python_version_tuple())
('3', '9', '13')

Випуск та назва ОС

Можемо дізнатися випуск нашої ОС завдяки realease(). Ось приклад цієї функції у коді:

print(platform.release())
10

Так само є функція system(), яка дає дані конкретно про назву ОС. І знову ж таки, переходимо до прикладу:

print(platform.system())
Windows

Висновок

У цьому матеріалі ми розглянули як функціонал модуля platform, так і з’ясували значення деяких термінів. Сподіваюсь, що ця стаття сподобалася вам! Дякую за увагу!

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Mystique Lord
Mystique Lord@nocturnal_reader

Нічний читач

68Прочитань
15Автори
3Читачі
На Друкарні з 14 липня

Більше від автора

  • Подяка Друкарні за її існування та погляд у майбутнє своєї діяльності

    Всіх вітаю! Нажаль сьогоднішня стаття не про Python, не про якусь нову цікаву бібліотеку чи функціонал — вона про мої загальні думки щодо моєї діяльності. Напевно усі ви вже бачили повідомлення на Друкарні про згортання їхньої діяльності, і це сумно.

    Теми цього довгочиту:

    Подяка Друкарні
  • Додаткові властивості словників у Python

    Сьогодні ми поговоримо про деякі додаткові властивості словників, які надають бібліотеки bidict та frozendict. У цій статті ми розглянемо обидві бібліотеки та їх функції по черзі.

    Теми цього довгочиту:

    Програмування
  • Хешування даних за допомогою bcrypt

    У цьому матеріалі мова піде про бібліотеку brcypt та те, як її використовувати на приктиці. Ми поговоримо про її призначення, розберемо функціонал і тд.

    Теми цього довгочиту:

    Програмування

Вам також сподобається

  • Принцип KISS: стільки, скільки потрібно

    Всім привіт! Я розпочинаю серію дописів на тему принципів та дизайн патернів у програмуванні. Мета цього, в першу чергу, особисто мені, засвоїти інформацію на кращому рівні. Перша тема - принцип KISS.

    Теми цього довгочиту:

    Програмування
  • Підкорюємо Інтеграл

    Навчитися використовувати інтеграл може бути складним, але варто зрозуміти його основні принципи, та встане свої місця

    Теми цього довгочиту:

    Математика

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається

  • Принцип KISS: стільки, скільки потрібно

    Всім привіт! Я розпочинаю серію дописів на тему принципів та дизайн патернів у програмуванні. Мета цього, в першу чергу, особисто мені, засвоїти інформацію на кращому рівні. Перша тема - принцип KISS.

    Теми цього довгочиту:

    Програмування
  • Підкорюємо Інтеграл

    Навчитися використовувати інтеграл може бути складним, але варто зрозуміти його основні принципи, та встане свої місця

    Теми цього довгочиту:

    Математика