2016-09-08 11 views
-1
import os 
import time 
os.system('WMIC /OUTPUT:C:\Users\PRO\Desktop\ProcessList.txt PROCESS get Caption') 
with open('C:\Users\PRO\Desktop\ProcessList.txt', 'r') as f: 
    if str('System') in f: 
     print "Yes" 
    else: 
     print "No" 
+0

es funktioniert immer noch nicht –

Antwort

0

Ich habe Ihren Code ausprobiert, und es wurde einige kleine Änderungen benötigt. Ich habe das getan, aber habe wünschenswertes Ergebnis nicht bekommen. Es schreibt erfolgreich in eine erwähnte Datei. Also, ich wäre es besser, wenn ich jede Zeile in meinem Python IDLE ausdrucken würde. Ich habe so komische Ergebnisse bekommen.

enter image description here

Zunächst sah es in Ordnung, wenn sie offen in einem beliebigen Texteditor. Aber später, nachdem zwischen den einzelnen Zeichen dieses eigenartigen Raum zu finden, öffnete ich diese Datei in Sublime Editor, dort laufen, dann so etwas wie dieses

aussehen gefunden

enter image description here

Nach ein wenig googeln, fand ich, dass dies ein NUL Terminator, der verwendet wird, um die Zeichenfolge in C \ C++ zu terminieren. Vielleicht kann jemand mit mehr Wissen darüber es besser erklären.

Ich habe keine Ahnung, wie und warum wird es nach jedem Zeichen hinzugefügt. Aber wenn Sie das entfernen und den Code erneut ausführen, erhalten Sie das gewünschte Ergebnis.

bitte die folgenden aktualisierten Code finden:

import os 
import time 

os.system('WMIC /OUTPUT:C:\Users\sohan.tirpude\Documents\LogInLog.txt PROCESS get Caption') 

searchfile = open("C:\Users\sohan.tirpude\Documents\LogInLog.txt", "r") 
for line in searchfile: 
    line = line.replace('\0', '') 
    #print line 
    if 'System' in line: 
     print "Yes" 
     break 
    else: 
     print "No" 

es bitte versuchen.

Verwandte Themen