bei einer pyw Datei etwas in eine Textdatei schreiben

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
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Hey, hab noch eine frage :-D
Ich will etwas in eine Textdatei schreiben, dies klappt auch super.
Doch wenn ich die Datei ".pyw" nene, da sie im Hintergrund arbeiten soll
erstellt das Programm die Datei zwar noch, schreibt aber nicht das gewünschte hinein.
Ich hoffe ihr könnt mir helfen..
Danke.

Gruß Teabag
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Teabag hat geschrieben:könnt mir helfen..
Hallo Teabag!

Hast du Quellcode für uns?

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Hi,
hier der quelcode, er wimmelt warscheinlich von Schönheitsfehlern^^

Code: Alles auswählen

# -*- coding: cp1252 -*-
import urllib2
import time
import sys
import os
sys.stderr = file("zerrors.log", "w")
class calculator:
    def __init__(self):
        self.last_lines = []
        self.klickzahl = []
        self.reloader = file("time.txt", "w")
        self.endtime = 0
        self.i = 0
        self.klickimport()

    def klickimport(self):
        self.klickimport = open("klick.txt")
        for line in self.klickimport:
            self.klickzahl.append(line)
        self.klickimport.close()
        if self.klickzahl:
            zahl = self.klickzahl[-1]
            klicks = zahl
            self.klicks = float(klicks)
            self.reklicks = 100 - self.klicks
            self.endklicks = 100 - self.klicks
        self.importer()
        
    def importer(self):
        self.websrc = urllib2.urlopen("http://profitmails.de/home.php")
        for line in self.websrc:
            self.last_lines.append(line)
        self.websrc.close()
        if self.last_lines:
            zahl = self.last_lines[164]
            zahl.split(" ")
            user = zahl[198:201]
            self.useranzahl = float(user)
            print "Verbinde zur Datenbank..."
            time.sleep(1)
            print "Es sind", self.useranzahl, "User online."
            self.last_lines = []
            self.timer(self.useranzahl)

    def timer(self, user):
        basis = 175
        durchschnitt = 3.4
        klickpromin = 0.019428571428571428571428571428571
        if self.i > 0:
            self.endklicks = self.reklicks - (user * klickpromin)
            self.reklicks = self.endklicks
            print "ja"
        self.endtime = self.endklicks / (user * klickpromin)
        print "Noch", self.endtime, "Minuten bis zum 100. Klick."
        self.endtimestring = str(self.endtime)
        [b]self.reloader.write(self.endtimestring)[/b]
        if self.endtime <1> 0:
            os.startfile("popup.py")
            self.klicks = 0
            self.reklicks = 100 - self.klicks
            self.endklicks = 100 - self.klicks
        time.sleep(60)
        self.i += 1
        self.importer()

start = calculator()
Hier:

Code: Alles auswählen

self.reloader.write(self.endtimestring)
Schon mal vielen Dank.

mfg

Teabag
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Teabag hat geschrieben:Hier:

Code: Alles auswählen

self.reloader.write(self.endtimestring)
Soweit kommt man gar nicht.

Code: Alles auswählen

if self.i > 0:
    self.endklicks = self.reklicks - (user * klickpromin)
`self.endklicks` gibt es nur, wenn `self.i` größer ``0`` ist.

`self.i` wird aber am Anfang auf ``0`` gesetzt und (bis diese Stelle erreicht wird) niemals verändert, also gibt es einen ``AttributeError``.
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Hallo,
aber

Code: Alles auswählen

self.reloader.write(self.endtimestring)
hat doch nichts mit self.endklicks zu tun. Es soll ja nicht self.endklicks in eine Datei geschrieben werden, sonder self.endtimestring...
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Teabag hat geschrieben:Hallo,
aber

Code: Alles auswählen

self.reloader.write(self.endtimestring)
hat doch nichts mit self.endklicks zu tun. Es soll ja nicht self.endklicks in eine Datei geschrieben werden, sonder self.endtimestring...

Code: Alles auswählen

self.endtime = self.endklicks / (user * klickpromin)
print "Noch", self.endtime, "Minuten bis zum 100. Klick."
self.endtimestring = str(self.endtime)
Also.. zumindest für mich hat `self.endklicks` etwas mit `self.endtimestring` zu tun.
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Okay, da hast du recht, aber diese Stelle wird immer ausgeführt und nicht nur wenn i größer 0 ist....
Benutzeravatar
Trundle
User
Beiträge: 591
Registriert: Dienstag 3. Juli 2007, 16:45

Führe den Code mal mit einer leeren ``klicks.txt`` aus.
Antworten