In der folgenden Code, Zuordnung von Anwendungsname zur Prozess-ID (hart codiert), Beispiel: In der folgenden Code 1468 ist die Prozess-ID und Outlook ist der Prozessname. In den hartcodierten Werten wurden für jede PID CPU-bezogene Informationen eingegeben. Hier möchte ich die Prozess-ID durch den Prozessnamen ersetzen und sollte die CPU-bezogenen Informationen für die entsprechende Prozessnamenausgabe erhalten, wie im Wertewörterbuch gezeigt.Problem beim Drucken Wörterbuch Inhalt
Erwartete Ausgabe
outlook: [
233.625,
336.15625,
43791.0,
168.21875,
94.859375
],
chrome: [
3713.625,
3396.15625,
36791.0,
628.21875,
48.859375
],
command prompt:[
3713.625,
396.15625,
3791.0,
628.21875,
48.859375
]
tatsächliche Ausgang:
3796
12972
1468
process name for this pid outlook
{3796: [3713.625, 396.15625, 3791.0, 628.21875, 48.859375], 12972: [3713.625, 3396.15625, 36791.0, 628.21875, 48.859375], 1468: [233.625, 336.15625, 43791.0, 168.21875, 94.859375]}
Code:
import os, platform, subprocess, re
import sys
import psutil
import itertools
import json
#if __name__ == "__main__" :
if True:
dict = {'1468 ': 'outlook', '12972':'chrome', '3796': 'command prompt'}
values ={
1468 : [
233.625,
336.15625,
43791.0,
168.21875,
94.859375
],
12972: [
3713.625,
3396.15625,
36791.0,
628.21875,
48.859375
],
3796:[
3713.625,
396.15625,
3791.0,
628.21875,
48.859375
]
}
class pretty:
def printf(self, json_object):
print(json.dumps(json_object, sort_keys=True, indent=4, separators=
(',', ': ')))
def comparision(self):
for iter in values.keys():
print (iter)
for proc in psutil.process_iter():
if iter == proc.pid:
#print(iter)
print("process name for this pid" +" "+proc.name())
if iter == proc.pid:
print(values)
pretty.comparision("")
Bitte helfen Sie mir dies bei der Lösung, bin ein Neuling in Python
Was ist der Zweck der 'wenn Richtig: 'und die' schöne' Klasse? – timgeb