Необходимо восстановить циклы в батарее, всю системную информацию и информацию в слотах оперативной памяти. - PullRequest
0 голосов
/ 25 июня 2019

Я создаю программу, которая извлекает всю информацию об оборудовании и программном обеспечении компьютера с Windows, проблема в том, что я не могу сгенерировать файл с python, который дает мне всю необходимую информацию. Я использую библиотеку wmi для получения некоторой информации, но я не могу найти всю необходимую информацию. Есть ли способ получить всю информацию?

Я использовал библиотеку os и wmi, но не могу найти информацию об оперативной памяти для каждого слота, циклы заряда батареи и полную информацию о компьютере

    print('Battery information')
    c = wmi.WMI()
    t = wmi.WMI(moniker = "//./root/wmi")

    batts1 = c.CIM_Battery(Caption = 'Portable Battery')
    for i, b in enumerate(batts1):
        print ('Battery %d Design Capacity: %d mWh' % (i, b.DesignCapacity or 0))


    batts = t.ExecQuery('Select * from BatteryFullChargedCapacity')
    for i, b in enumerate(batts):
        print ('Battery %d Fully Charged Capacity: %d mWh' % 
        (i, b.FullChargedCapacity))

    batts = t.ExecQuery('Select * from BatteryStatus where Voltage > 0')
    for i, b in enumerate(batts):
        print ('\nBattery %d *****' % i)
        print ('Tag:               ' + str(b.Tag))
        print ('Name:              ' + b.InstanceName)
        print ('PowerOnline:       ' + str(b.PowerOnline))
        print ('Voltage:           ' + str(b.Voltage))
        print ('DischargeRate:     ' + str(b.DischargeRate))
        print ('ChargeRate:        ' + str(b.ChargeRate))
        print ('RemainingCapacity: ' + str(b.RemainingCapacity))
        print ('Active:            ' + str(b.Active))
        print ('Critical:          ' + str(b.Critical))
        print ('Cycles:            ')
        print ('Original capacity  ')
        print ('Current capacity   ')
        print ('')


    print ('System information')
    computer = wmi.WMI()
    computer_info = computer.Win32_ComputerSystem()[0]
    os_info = computer.Win32_OperatingSystem()[0]
    proc_info = computer.Win32_Processor()[0]
    gpu_info = computer.Win32_VideoController()[0]

    os_name = os_info.Name.encode('utf-8').split(b'|')[0]
    os_version = ' '.join([os_info.Version, os_info.BuildNumber])
    system_ram = float(os_info.TotalVisibleMemorySize) / 1048576  # KB to GB

    print('OS Name: {0}'.format(os_name))
    print('OS Version: {0}'.format(os_version))
    print('CPU: {0}'.format(proc_info.Name))
    print('RAM: {0} GB'.format(system_ram))
    print('Graphics Card: {0}'.format(gpu_info.Name))

    print ('')


    #Diskdrive Size, completed
    print ('DiskDrive information')
    total,used, free = shutil.disk_usage('/')
    print('total: %d GB' % (total // (2**30)))
    print('Used: %d GB' % (used // (2**30)))
    print('Free: %d GB' % (free // (2**30)))
    print ('')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...