python Variable hochzählen

Gast #6996733
Lesenswert?
• ▲
▼
Mike schrieb:
> Ist extrem viel Code. Ich brauche eigentlich nur ein klines Beispiel wie
> ich eine Variable hochzählen kann und auch wie man in den Funktionen
> Daten in eine Textdatei ablegt.

Dir ist es zuviel Aufwand ein kurzes Programmschnipsel mit genau der 
Funktion aufzubereiten?
Dir ist es zuviel Aufwand die von mir verlinkte Doku mit genau den 
passenden Beispielen (ok, nur mit Text, aber egal) durchzulesen?

Dann mag ich auch nicht weiter darüber nachdenken...
Gast #6996742
Lesenswert?
• ▲
▼
So hier ein Beispiel:
1
import socket
2
import sys
3
import ipaddress
4
import re
5
import time
6
import paho.mqtt.client as mqtt
7
import uuid
8
import binascii
9
from random import *
10
from datetime import datetime
11

12
IP_ADDRESS = "xxx.xxx.xxx.xxx"
13
PORT = 30100
14

15
def write_data_to_textfile(txt): 
16
     with open('test.txt','w') as f: 
17
         f.write(txt) 
18

19
def on_connect(client, userdata, flags, rc):
20
    print("Connected with result code " + str(rc) + "\n")
21

22
def on_message(client, userdata, msg):
23
    print("Msg recieved from others: "+ message.payload.decode()  + " TIMESTAMP: " + str(time))
24

25
def on_message_from_udp_port_40302(client, userdata, message):
26
    time = datetime.now()
27
    write_data_to_textfile("Test"))
28
    print("\nData " + message.payload.decode() + " TIMESTAMP: " + str(time))
29

30
client = mqtt.Client()
31
client.on_connect = on_connect
32
client.on_message = on_message
33

34
client.connect(IP_ADDRESS, PORT, 60)
35

36
client.subscribe("test", qos=1)
37

38
client.message_callback_add("test", on_message)
39

40
client.loop_forever()
Gast #6996746
Lesenswert?
• ▲
▼
Hab ein Fehler gesehen. Hier die korrigierte Version:
1
import socket
2
import sys
3
import ipaddress
4
import re
5
import time
6
import paho.mqtt.client as mqtt
7
import uuid
8
import binascii
9
from random import *
10
from datetime import datetime
11

12
IP_ADDRESS = "xxx.xxx.xxx.xxx"
13
PORT = 30100
14

15
def write_data_to_textfile(txt): 
16
     with open('test.txt','w') as f: 
17
         f.write(txt) 
18

19
def on_connect(client, userdata, flags, rc):
20
    print("Connected with result code " + str(rc) + "\n")
21

22
def on_message(client, userdata, msg):
23
    print("Msg recieved from others: "+ message.payload.decode()  + " TIMESTAMP: " + str(time))
24

25
def on_message_test(client, userdata, message):
26
    time = datetime.now()
27
    write_data_to_textfile("Test"))
28
    print("\nData " + message.payload.decode() + " TIMESTAMP: " + str(time))
29

30
client = mqtt.Client()
31
client.on_connect = on_connect
32
client.on_message = on_message
33

34
client.connect(IP_ADDRESS, PORT, 60)
35

36
client.subscribe("test", qos=1)
37

38
client.message_callback_add("test", on_message_test)
39

40
client.loop_forever()
#6996752
Lesenswert?
• ▲
▼
Mike schrieb:
1
def func():
2
  test = test + 1

In Python bedeuted obiges: Lese den Wert zum Namen(Symbol) "test" aus 
dem Namensräumen "Lokal" oder "Global", addiere 1 und legen der Wert 
unter **lokalen** Namen "Test" ab.

Was Du willst ist:
1
def func():
2
  global test
3
  test = test + 1

Und das bedeutet: Lese den Wert zum Namen "test" aus dem Namensraum 
"Global", addiere 1 und legen der Wert unter **globalen** Namen "test" 
ab.
Gast #6996779
Lesenswert?
• ▲
▼
Beispiel Datei schreiben:
1
class FileOperations:
2
    def open_file(self):
3
        self.file = open('test.txt', 'r+')
4

5
    def write_file(self):
6
        self.file.write("Test") 
7

8
Benutzung:
9
    fileHandler = FileOperations()
10
    fileHandler.open_file()
11
    fileHandler.write_file()

Allerdings weiß ich hier nicht wie ich da ein Text von außen zuweisen 
kann.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.