Python Prozess Auslesen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
ShuzZzle
User
Beiträge: 6
Registriert: Dienstag 20. November 2012, 21:55

Also ich wollte meine tasklists prozesse auslesen was ja nicht schwer ist das hab ich mit :

Code: Alles auswählen

import os
t = os.popen('tasklist').read()
gelöst. Nur wollte ich auch nach bestimmten Prozessen suchen. Folgendes habe ich gemacht

Code: Alles auswählen

test = ['notepad++.exe', 'example.exe']
if t.find(test[0]):
    print("hallo")
else:
    pass
Dies funktioniert aber nicht wie ich möchte. Hat jemand eine Idee wie ich eine funktionierende Abfrage schreiben kann?
MfG ShuzZzle
BlackJack

@ShuzZzle: Zum Starten von externen Programmen sollte man das `subprocess`-Modul verwenden. Das sollte auf lange Sicht die anderen Möglichkeiten ersetzen.

Das konkrete Problem würde ich mit dem `psutil`-Modul angehen. Das ist plattformübergreifend und wahrscheinlich robuster als ein externes Programm zu starten.
Benutzeravatar
ShuzZzle
User
Beiträge: 6
Registriert: Dienstag 20. November 2012, 21:55

wo steht was zum starten?! wenn ich was starten möchte nehme ich doch

Code: Alles auswählen

os.open() oder os.startfile()
ich wollte lediglich meine task auslesen & wenn der task notepad++.exe grfuden wurde print hallo ausgeben
MfG ShuzZzle
Benutzeravatar
sparrow
User
Beiträge: 4165
Registriert: Freitag 17. April 2009, 10:28

Du startest doch das externe Programm tasklist?
Wie BlackJack sagt, solltest du das psutil-Modul verwenden, wenn externe Module in Ordnung sind, oder von Anfang an subprocess verwenden. Wenn man sich schon Übungsaufgaben stellt, sollte man sie auch anständig lösen.

Zu deinem Versuch:
Was liefert find() denn zurück?

Code: Alles auswählen

>>> 0 == True
False
>>> 1 == True
True
>>> 2 == True
False
>>> 3 == True
False
Man kann mit x in y suchen.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

@sparrow: Du wolltest doch eigentlich das hier zeigen:

Code: Alles auswählen

In [1]: bool(0)
Out[1]: False

In [2]: bool(1)
Out[2]: True

In [3]: bool(2)
Out[3]: True

In [4]: bool(-1)
Out[4]: True
Dabei ist das erste und das letzte am interessantesten.
Antworten