2014-01-03 2 views
0

У меня есть manmanager задачи, сделанный в python, и он использует wx, чтобы сделать его интерфейсом gui, но я использую psutil, чтобы получить процент использования памяти для процесса, проблема заключается в том, что он ставит его в десятичную и все, что я пробовал, заставляет его вообще не отображать процессы. Я попытался добавить .percent после некоторого материала, который показывает процент, но это не работало Heres часть кода, который получает данные для отображения:Python - Psutil как процент

def updateDisplay(self): 

    pids = psutil.get_pid_list() 
    for pid in pids: 

     try: 
      p = psutil.Process(pid) 
      new_proc = Process(p.name, 
           str(p.pid), 
           p.exe, 
           p.username, 
           str(p.get_cpu_percent()), 
           str(p.get_memory_percent()) 
           ) 
      self.procs.append(new_proc) 
     except: 
      pass 

    self.setProcs() 

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

+1

Умножить его на 100? – smeso

+2

Посмотрите http://stackoverflow.com/a/5306787/27604, чтобы преобразовать десятичную цифру в% –

+0

, не уверен, как бы я это сделал, хотя если бы я хотел сделать это, я бы не подумал, что он будет работать как im, используя другой модуль для печати процент в списке (просмотр списка объектов) – user3050453

ответ

0

Во-первых, метод уже вызывает результат в процентах, просто не в нужном формате, поэтому /100 здесь бессмысленно.

Ваша конечная цель неясно, поэтому у меня есть несколько вариантов для вас. Если ваша цель состоит в том, чтобы напечатать округлую, 2 десятичную строку, с символ процента после строки, это будет сделать это:

"{:.2%}".format(round(p.get_cpu_percent(),2))

Однако, если вы после каких-либо чисел хвостовых после десятичной точки:

"{:.0%}".format(round(p.get_cpu_percent(),2))

И, наконец, если вы после не знаком процента, только цифры:

"{:.2}".format(round(p.get_cpu_percent(),2))

Постарайтесь быть как можно более конкретными, это увеличит ваши шансы получить своевременный, точный ответ!

Смежные вопросы