import psutil import datetime import platform def get_system_info(): result = {} # ОС os_platform = platform.system() # Процессор processor = platform.processor() result.update({'platform': os_platform, 'processor': processor}) # диски disks = psutil.disk_partitions() for i in disks: try: disk_usage = psutil.disk_usage(i.device) total = int(disk_usage .total) / 1048576 used = int(disk_usage .used) / 1048576 free = int(disk_usage .free) / 1048576 percent = float(disk_usage .percent) disk_dict = {'total_space': total, 'used_space': used, 'free_space': free, 'free_percent': percent} result.update({'disk_space': disk_dict}) except: pass # загрузка процессора cpu_percent = psutil.cpu_percent() result.update({'cpu_percent': cpu_percent}) # аптайм boot_time = psutil.boot_time() uptime = datetime.datetime.now().timestamp() - boot_time result.update({'uptime': uptime}) # оперативка: mem_status = psutil.virtual_memory() m_total = int(mem_status.total) / 1048576 m_available = int(mem_status.available) / 1048576 m_used = int(mem_status.used) / 1048576 m_free = int(mem_status.free) / 1048576 m_percent = float(mem_status.percent) memory_dict = {'total_mem': m_total, 'available_mem': m_available, 'used_mem': m_used, 'free_mem': m_free, 'free_percent_mem': m_percent} result.update({'memory_space': memory_dict}) # температура процессора: try: # ToDo скорее всего надо прописать итератор для перечня датчиков proc_temp = float(psutil.sensors_temperatures().current) except: proc_temp = None result.update({'proc_temp': proc_temp}) return result if __name__ == "__main__": res = get_system_info() for i in res.keys(): print(i, res[i])
Источники:
Читать далее