Überwachungs program.

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
Vos
User
Beiträge: 40
Registriert: Freitag 24. März 2006, 13:37

Hallo

Ich möchte gern ein Program schrieben das einen PC sozusagen überwacht. Nein nich den ganzen PC sondern nur wann und wer am PC war.

Meine Überlegungen.

Also erst mal Um den namen herauszubekommen

Code: Alles auswählen

Hallo = raw_input("Wie ist dein Name? ")
print "Moin, %s!" %Hallo
Wie kann ich diesen Namen jetzt in eine externe .txt datei speichern?
dahinter soll er natürlich dan auch Datum und Uhrzeit schrieben.
Ich hab schon alles Versucht mit Clock () ect aber ich bekomms nicht ihn im wikiPython find ich nix bei google und hier auch nicht.

Aiuch kann ich keine Tabellen anzeigen irgendwie also mit

Code: Alles auswählen

[hallo, hallo, hallo]
Ich schreib den code in Externe .py!

Danke schonmal für antowrten

edit:

Oh sorry das tut mich leid ich hab gerad gemerkt das ich das thema ins falsche forum geschrieben hab! das is mir peinlich sorry!!!

So ich hoffe ihr stehts richtig!!!!

Edit (Leonidas): Thread verschoben.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo, ich habe den Thread mal verschoben.

In der Dokumentation des time-Moduls steht folgendes:

Code: Alles auswählen

from time import gmtime, strftime
strftime("%a, %d %b %Y %H:%M:%S +0000", gmtime())
So gesehen ist das Modul time genau das, was du suchst.

In Dateien schreiben geht mit der Funktion file()/open() aber dafür gibts im Forum die Suchfunktion ;)

Bei Fragen einfach nachhaken.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

ich hab mal was von ner .log-datei gehört, wo sowieso schon eingetragen wird, wer alles am pc war, aber ok:

wenn ich das richtig verstanden habe, willst du wissen, wie man was in ne datei reinschreibt, möglichst plus zeitstempel...

Code: Alles auswählen

from time import strftime
zeit_str=strftime("%X") # zeitformat als string
meine_datei = file(r"C:\externe_datei_zum_speichern.txt", "a+")
user = raw_input("wer bist du?\n")
user = user.lstrip("wer bist du?\n") # vom anfang das da wegschneiden
# wenns nicht klappt, versuchs mal NUR mit user.strip("wer bist du?\n")
meine_datei.write(user + " zur zeit: " + zeit_str) # datei schreiben
meine_datei.flush() # datei speichern
meine_datei.close() # schließen, esseidenn, du willst sie weiter nutzen...
raw_input("Vorgang erfolgreich ausgefuert, bitte mit enter programm beenden!")
für deine tabellen... weiß nicht...
PRETTYPRINTER?? - oder wie das heißt

statt dem %X kannst du auch anderes einsetzten, aber da meine ellies grad stressen, schreib ichs dir später noch hier hin!
[size=85]"Unsere Situation ist immer die eines schwarzen Mannes der in einem schwarzen Keller einen schwarzen Hut sucht, den es vielleicht gar nicht gibt." Sir Karl R. Popper[/size]
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Vos hat geschrieben:Also erst mal Um den namen herauszubekommen
Hi Vos!

Mit dem Modul getpass findest du schon mal den Benutzernamen raus.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Vos
User
Beiträge: 40
Registriert: Freitag 24. März 2006, 13:37

@Hannes-Spz

deins hat mir weitergeholfen.

doch wofür ist

Code: Alles auswählen

user = user.lstrip("Wer bist du?\n")
mein Programm sieht jetzt so aus und es funst.

Code: Alles auswählen

from time import strftime
zeit_str=strftime("%X")
meine_datei = file(r"D:\Control\control.txt", "a+")
user = raw_input("Wer bist du?\n")
if user == "Sebastian":
	print "Hallo du, schön das du da bist!"
	raw_input("Wie du weisst, mit ENTER beenden!")
elif user == "Erich":
	print "Hallo Papa, du willst doch nur wieder an die Muik oder ins Netz! Aber Big son is watching you!"
	meine_datei.write(user + "	"  + zeit_str)
	meine_datei.flush()
	meine_datei.close()
	raw_input("Und drück bitte eben ENTER!")
else:
	meine_datei.write(user + "	"  + zeit_str)
	meine_datei.flush()
	meine_datei.close()
	raw_input("Vorgang erfolgreich ausgefuert, bitte mit enter programm beenden!")
Ich hab mal so namen eingefügt.

Danke an alle
grüße

===============================================
======================EDIT======================
===============================================
Ich hab heut mittag fleißig weitergebastelt... Die meisten hätten da bestimmt 5 min für gebraucht aber übung macht den meister.

Code: Alles auswählen

from Tkinter import *

top = Tk()
F = Frame(top)
F.pack()

lHello = Label(F, text= "Wer bist du?" )
lHello.pack()
fEntry = Frame(F, border="1")
user = Entry(fEntry)
fEntry.pack(side="top", expand="true")
user.pack(side="left", expand="true")

top.mainloop()

import time
zeit_str=time.strftime("%X")
meine_datei = file(r"D:\Control\control.txt", "a+")
if user == "Sebastian":
	print "Hallo du, schön das du da bist!"
	raw_input("Wie du weisst, mit ENTER beenden!")
elif user == "Erich":
	print "Hallo Papa, du willst doch nur wieder an die Muik oder ins Netz! Aber Big son is watching you!"
	meine_datei.write(user + "	"  + zeit_str)
	meine_datei.flush()
	meine_datei.close()
	raw_input("Und drück bitte eben ENTER!")
else:
	meine_datei.write(user + "	"  + zeit_str)
	meine_datei.flush()
	meine_datei.close()
	raw_input("Vorgang erfolgreich ausgefuert, bitte mit enter programm beenden!")
Das bis jetzt funktioniert ja auch einwandfrei. Nen Butten bekomme ich auch rein aber ich find nirgendwo im internet eine Beschreibung wie kan jetzt das Reingeschriebene also Z.B.: Sebastian (was der User ins feld timt) mit der unternen Funktion verknüpft werden?

ich hab in Netz nur sowas gefunden wo ich mich dran orientiert habe.
Den Quit Button brauch ich nich. Aber den Clear button habe ich nicht umgeschrieben bekommen z.B. zu SAGEN.

Code: Alles auswählen

from Tkinter import *

# erzeuge zuerst eien Ereignisbehandler
def evClear():
  eHello.delete(0,END)

# erzeuge das Toplevel-Window/- Frame
top = Tk()
F = Frame(top)
F.pack(expand="true")

# jetzt das Frame mit dem Text-Entry
fEntry = Frame(F, border="1")
eHello = Entry(fEntry)
fEntry.pack(side="top", expand="true")
eHello.pack(side="left", expand="true")

# schließlich das Frame mit den Buttons. 
# wir versenken dieses zu Betonung
fButtons = Frame(F, relief="sunken", border=1)
bClear = Button(fButtons, text="Clear Text", command=evClear)
bClear.pack(side="left", padx=5, pady=2)
bQuit = Button(fButtons, text="Quit", command=F.quit)
bQuit.pack(side="left", padx=5, pady=2)
fButtons.pack(side="top", expand="true")

# jetzt kommt die Ereignisschleife
F.mainloop()
Ich hoffe ihr versteht mich und könnt mir helfen.
Wenns feritg ist soll das programm über .pyw laufen.

Danke schonmal grüße
Vos
User
Beiträge: 40
Registriert: Freitag 24. März 2006, 13:37

Ich bekomms einfach nich hin das was der Anwender in Das Text-Entry schreibt als Variable "user" zu deklarieren.

ihr nochmal was ich bis jetzt hab (etwas anders durchs viele testen also oben)

Code: Alles auswählen

from Tkinter import *

top = Tk()
F = Frame(top)
F.pack()
F.master.title("Control")

lHello = Label(F, text= "Wer bist du?" )
lHello.pack()
fEntry = Frame(F, border="1")
eHello = Entry(fEntry)
fEntry.pack(side="top", expand="true")
eHello.pack(side="left", expand="true")

top.mainloop()

import time
zeit_str=time.strftime("%X")
meine_datei = file(r"D:\Control\control.txt", "a+")
user = raw_input(eHello)
if user == "Nutzer1":
	print "Hallo Christian, schön das du da bist!"
	raw_input("Wie du weisst, mit ENTER beenden!")
elif user == "Nutzer2":
	print "Hallo Papa, du willst doch nur wieder an die Muik oder ins Netz! Aber Big son is watching you!"
	meine_datei.write(user + "	"  + zeit_str)
	meine_datei.flush()
	meine_datei.close()
	raw_input("Und drueck bitte eben ENTER!")
else:
	meine_datei.write(user + "	"  + zeit_str)
	meine_datei.flush()
	meine_datei.close()
	raw_input("Vorgang erfolgreich ausgefuert, bitte mit enter programm beenden!")
Grüße und danke für antowrten
oscar15
User
Beiträge: 67
Registriert: Freitag 3. März 2006, 15:43
Wohnort: Kölle

wie ist den das Programm mit windows verknüpft! weil sonst wir es ja nicht ausgeführt, weil es ja nicht aufgerufen wird!
Vos
User
Beiträge: 40
Registriert: Freitag 24. März 2006, 13:37

Im autostartordner.

Immoment hab ichs über ne Batch datei laufen.(also die Batch im Autostartordner Später soll das orginal da rein :wink:) Aber das is doch eigendlich egal oder?? Weil wenn ich dran rum teste fahr ich meinen PC ja nicht immer hoch und runter sonder füre manuell aus.

Ich freu mich auf jede hilfe!

Bin schon weiter:

Also

Code: Alles auswählen

from Tkinter import *
def evAntwort():
	if  user == "Christian":
		import sys
		sys.exit()
	else:
		import time
		zeit_str=time.strftime("%X")
		meine_datei = file(r"D:\Control\control.txt", "a+")
		lab=Label(text="Nich okay!" + zeit_str)
		lab.pack()
		meine_datei.write(zeit_str + "	" + "test" + "\n")
		meine_datei.flush()
		meine_datei.close()
top = Tk()
F = Frame(top)
F.pack(expand="true")
top.title("Control")

fEntry = Frame(F, border="1")
eHello = Entry(fEntry)
fEntry.pack(side="top", expand="true")
eHello.pack(side="left", expand="true")


fButtons = Frame(F, relief="sunken", border=1)
bSagen = Button(fButtons, text="Sagen", command=evAntwort)
bSagen.pack(side="left", padx=5, pady=2)
fButtons.pack(side="top", expand="true")

F.mainloop()
Ich bin am verzweifeln ich bekomme es einfach nich hin das geschrieben in eine fariable zu speichern! auch nich mit .get! Bin schon seit zwei stunden am ausprobieren und nachgucken was ich falsch mache ich bekomms nich hin.

http://www.wspiegel.de/tkinter/tkinter02.htm

Die Variable "user" ist noch nicht bestimmt!

Grüße und danke für antoworten

Ich habs rausbekommen.

Code: Alles auswählen

from Tkinter import *
def evAntwort():
	if  user == "Christian":
		import sys
		sys.exit()
	else:
		import time
		zeit_str=time.strftime("%X")
		meine_datei = file(r"D:\Control\control.txt", "a+")
		lab=Label(text="Nich okay!" + zeit_str)
		lab.pack()
		meine_datei.write(zeit_str + "	" + "test" + "\n")
		meine_datei.flush()
		meine_datei.close()
Hab ich die meisten fragen ja selber rausbekommen! Aber jetzt gehe ich pennen.

Tschöööööö bis morgen eventuell!
Python 47
User
Beiträge: 574
Registriert: Samstag 17. September 2005, 21:04

Schau dir mal das Modul user an! :wink: Das sollte machen, was du willst!
mfg

Thomas :-)
Havak
User
Beiträge: 4
Registriert: Freitag 12. Mai 2006, 15:35
Wohnort: Berlin

ich hab mal noch ein Tipp für dich
du würdest jetz jedesmal ne neue datei erstellen (glaub ich zumindest)

Code: Alles auswählen

try:
    open('C:\save\save.txt',"w")
except IOError:
    file(r'C:\save\save.txt',"a+")
setz das ding doch einfach mal evAntwort() rein[/code]


so jetz hab ich zu der sache auch ma ne Frage:

die Datei die zum Speichern verwendet wird löscht sich bei mir jedes mal bevor da was reingeschrieben werden kann

woran kann das liegen ?

Code: Alles auswählen

from Tkinter import *
import time

def save():
    user=ent.get()
    if user=='Havak':
        dat=open('C:\save\save.txt',"w")
        text='Havak meldete sich an\n'
        dat.write(text)
        dat.flush()
        dat.close()
    else:
        dat=open('C:\save\save.txt',"w")
        text='!!!ACHTUNG!!! unbekannter nutzer\nmit dem Namen: %s\n'%user
        dat.write(text)
        dat.flush()
        dat.close()



    
txt='\nZeit:   %s'%time.ctime(time.time())
dat=open('C:\save\save.txt',"w")
dat.write(txt)
dat.flush()
dat.close()
hf=Tk()
ent=Entry(hf)
ent.pack(side='left',expand='true')
but=Button(hf,text='Login',command=save)
but.pack(side='bottom',expand='true')
hf.mainloop()

...[/code]
Antworten