Seite 1 von 1

Python Prozess Auslesen

Verfasst: Dienstag 20. November 2012, 22:00
von ShuzZzle
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?

Re: Python Prozess Auslesen

Verfasst: Dienstag 20. November 2012, 23:17
von 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.

Re: Python Prozess Auslesen

Verfasst: Mittwoch 21. November 2012, 08:12
von ShuzZzle
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

Re: Python Prozess Auslesen

Verfasst: Mittwoch 21. November 2012, 08:31
von sparrow
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.

Re: Python Prozess Auslesen

Verfasst: Mittwoch 21. November 2012, 15:10
von cofi
@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.