Ich bin zurzeit an den Wochenenden bei uns in der Gegend im Schwimmbad angestellt und wegen der Coronabeschränkung dürfen nur eine bestimmte Anzahl an Personen rein. Da mir Aufschreiben der Personen, die rein und raus gehen zu "langweilig" ist, hab ich versucht mir ein Script dazu zu schreiben. Ich hab dies mit Kivy gemacht, um es auf meinem Handy abspielen zu können. Soweit hat alles funktioniert, nur wenn ich in den Standby Modus geschaltet have, war die Zähleranzeige immer wieder bei Null. Nun hab ich versucht, das ganze mit einer .txt zu erweitern, in der immer die aktuelle Besucherzahl gespeichert wird und bei neustart der App wieder ausgelesen wird. Ich bekomme nun diverse Fehlermeldungen, je nach dem wie ich mein Script verändere, aber öffnen lässt es sich seit Implementation der "besucher.txt" nicht mehr. In meinem virtenv habe ich nur kivy installiert, also kann es sich eig nicht mit etwas anderem beißen, wovon ich bei Fehlerrecherche öfter gelesen hab. Gerne kann ich die Dateien auch in einem Google-Drive Ordner hochladen, aber in der .txt soll anfänglich 0 stehen, da morgens logischerweise 0 Besucher im Bad sind. Ein "resett button" wird später noch hinzugefügt, falls mir jemand bei der Lösung meines Problems helfen kann . Um es zusammenzufassen: Ich möchte mit einem Programm die Besucher zählen, die aktuellen sollen aus einer .txt ausgelesen werden, und wenn einer rein (oder raus) geht, soll diese in der .txt stehende Zahl verändert (gespeichert bzw überschrieben) werden. Schonmal Danke im Vorraus
Hier der Code der main.py:
Code: Alles auswählen
import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
from kivy.clock import Clock
from kivy.config import Config
from kivy.core.window import Window
File = open("besucher.txt", "r")
Ints = []
for val in File.read().split():
Ints.append(int(val))
File.close()
nummer = Ints[0]
print(type(nummer))
print(nummer)
global zahl
zahl = nummer
class MyGridLayout(GridLayout):
def __init__(self, **kwargs):
super(MyGridLayout, self).__init__(**kwargs)
self.zahl = zahl
self.cols = 3
self.label = Label(text="Aktuelle Besucherzahl : {} ".format(str(self.zahl)))
self.add_widget(self.label)
self.plus = Button(text="Ein Besucher mehr", font_size=40)
self.plus.bind(on_press=self.besucherplus)
self.add_widget('self.plus')
self.minus = Button(text="Ein Besucher weniger", font_size=40)
self.minus.bind(on_press=self.besucherminus)
self.add_widget(self.minus)
def besucherplus(self, instance):
self.zahl += 1
print(self.zahl)
self.remove_widget(self.label)
self.label = Label(text="Aktuelle Besucherzahl : {} ".format(str(self.zahl)))
self.add_widget(self.label)
#if self.zahl <= 0:
# self.zahl = 0
def besucherminus(self, instance):
self.zahl -= 1
print(self.zahl)
self.remove_widget(self.label)
self.label = Label(text="Aktuelle Besucherzahl : {} ".format(str(self.zahl)))
self.add_widget(self.label)
#if self.zahl <= 0:
# self.zahl = 0
def datei(self, instance):
filew = open("besucher.txt", "w")
filew.write(str(self.zahl))
filew.close()
class MyApp(App):
def build(self):
return MyGridLayout()
if __name__ == '__main__':
MyApp().run()