Hallo,
Danke erst mal für eure Antworten...
Ich möchte in der Tat einen Daemon (ich glaube, das nennt man so... Bin noch nicht so sicher mit der "Fachsprache"

) schreiben.
Also genau genommen einen Wecker, der mp3s abspielen soll. Der ist allerdings eine Konsolenanwendung, so dass man ihn nicht mit pythonwin starten sollte, oder?
Hier ist der Quellcode:
Code: Alles auswählen
#wecker.py
import threading
import time
import os
global zeit
from os import *
#Pfad der gewuenschten mp3-Datei speichern
if not path.exists('C:\\programme\\mp3wecker.txt'):
pfad=raw_input("Bitte den absoluten Pfad der gewuenschten mp3 Datei angeben")
datei=file('C:\\programme\\mp3wecker.txt',"w")
datei.write(pfad)
datei.close()
zeit=raw_input("Bitte Weckzeit angeben (z.B. 16:13)")
#Funktion zum Pruefen, ob die Weckzeit der aktuellen Uhrzeit entspricht
def checker():
if time.strftime("%H:%M")==str(zeit):
print "AUFWACHEN!"
datei=file('C:\\programme\\mp3wecker.txt',"r")
pfad=datei.read()
pfad=str(pfad)
datei.close()
os.spawnv(os.P_NOWAIT,'C:\\Programme\\Windows Media Player\\wmplayer.exe',['wmplayer.exe',pfad])
do.close_MyRegularThread()
#Klassen, zum Starten und Beenden des Threads
class MyRegularThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
global abbruch_event
abbruch_event = threading.Event()
def run(self):
sleep_time = 1
while not abbruch_event.isSet():
time.sleep(sleep_time)
checker()
def close(self):
abbruch_event.set()
class MyMainProgram:
def begin_MyRegularThread(self):
t = MyRegularThread()
t.start()
def close_MyRegularThread(self):
t = MyRegularThread()
t.close()
Gerold hat geschrieben:2. Du solltest dir eventuell mal überlegen, auf eine aktuellere Python-Version upzudaten.
Ich hatte schon mal auf Python 2.4 upgedatet, aber dann hat irgendwie nichts mehr funktioniert, also bin ich wieder auf Python 2.2 umgestiegen...
@ N317V:
Ja, ich glaube, unter Windows nennt man Daemons Dienste oder Services, oder? Dann ist es das, was ich brauche?
Ich lade gerade die Python for Windows Extensions runter, aber bei 56 K Internet dauert das eine Weile...
Und ich habe festgestellt, dass zwar ein Prozess begonnen wird, wenn ich das Programm indirekt (also über Python und dann F5) ausführe. Aber wenn ich das Programm mit der Konsole öffne, dann wird kein Prozess im Task-Manager angezeigt... Weiß jemand, warum das so ist?
Danke schon mal im Voraus für eure Antworten...
Roman