TGViewer
Python Заметки Python Заметки @pythonotes · 2.2K subscribers
Post #297 2.03K
Модуль pythonnet позволяет интегрировать ваш код на Python с .NET приложениями.
Например, запускать Python модули внутри .NET или импортировать DLL библиотеки в Python.

📖 Вики по модулю
📕 Урок на гитхабе
📙 Пара примеров использования

📌 Пример от меня:
Использование библиотеки от всем известного софта мониторинга Open Hardware Monitor.
Когда его скачаете, обнаружите там библиотеку OpenHardwareMonitorLib.dll. Вот она нам и нужна!

Для начала поставьте модуль pythonnet

pip install pythonnet

Если установка завершилась ошибкой, скорее всего ваша версия Python еще не поддерживается. Поищите WHL здесь. А потом устанавливайте так:

pip install ...\2.5.2-cp39-cp39-win_amd64.whl

Либо попробуйте другую версию Python.

Теперь нам доступен модуль clr (Common Language Runtime) с помощью которого можно делать DLL доступными для импорта

import clr
from pathlib import Path
clr.AddReference(str(
Path('OpenHardwareMonitorLib.dll').absolute()
))

Предполагается, что библиотека лежит в текущей рабочей директории

Вот и всё, можно импортировать и использовать

from OpenHardwareMonitor.Hardware import Computer
c = Computer()
c.CPUEnabled = True
c.GPUEnabled = True
c.RAMEnabled = True
c.HDDEnabled = True
c.Open()
for hw in c.Hardware:
print(hw.Name)
c.Close()

Теперь можете делать свою мониторилку ресурсов. Например вот так можно считывать данные сенсоров

...
for hw in c.Hardware:
hw.Update()
for sensor in hw.Sensors:
print(sensor.Identifier, sensor.get_Value())
...

Здесь hw.Update() нужен для обновления данных сенсоров на текущий момент, на случай если у вас бесконечный цикл опроса сенсоров.
__________________
PS. Некоторые устройства для получения полной информации требуют запуска от имени администратора.
Например, если видите в списке устройств некий Generic Hard Disk или запрос значения сенсора вернуло None, то это как раз тот случай.

#libs
PyPI pythonnet .NET and Mono integration for Python
  • 👍 1
More from @pythonotes
  1. Sep 21, 2026­ WebAssembly это мощная технология позволяющая загружать практически любое приложение в б…
  2. Aug 17, 2026Не так давно столкнулся с API который в ответе с ошибкой присылал только статус-код. Без п…
  3. Jul 20, 2026У меня основная ОС это Linux. Но нередко требуется делать сборку клиента под Windows. Соби…
  4. Jul 13, 2026В прошлый раз был пример с понижением привелегий процесса. Проблема в том, что обратно под…
  5. Jul 6, 2026Модуль pwd может использоваться для считывания информации о пользователях из базы данных п…
  6. Jun 22, 2026Недавно я реализовал Multi Tenancy систему на FastAPI + SQLAlchemy и пересобрал её в небол…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →