Variable aus anderer Funktion aufrufen
Verfasst: Freitag 23. März 2018, 10:45
Hallo,
ich versuche zur Zeit, mein Programm zu vollenden, was jedoch nicht ganz gelingen will.
Das Programm soll alles Daten eines Sensors in einem Ordner auslesen und diese dann in eine globale Datei, in die die Werte aller Sensoren kommen, schreiben. Jedoch weiß ich nicht wie ich die Variablen wieder in der Hauptfunktion aufrufen kann.
Als Fehler kommt dann immer, dass die Variablen nicht definiert sind. Global setzen kann ich sie auch nicht, weil sie dann nur noch einen einzigen Wert hätte.
Mein Programm bis jetzt: (kommen noch mehr Sensoren)
Danke schon mal im vorraus!
ich versuche zur Zeit, mein Programm zu vollenden, was jedoch nicht ganz gelingen will.
Das Programm soll alles Daten eines Sensors in einem Ordner auslesen und diese dann in eine globale Datei, in die die Werte aller Sensoren kommen, schreiben. Jedoch weiß ich nicht wie ich die Variablen wieder in der Hauptfunktion aufrufen kann.
Als Fehler kommt dann immer, dass die Variablen nicht definiert sind. Global setzen kann ich sie auch nicht, weil sie dann nur noch einen einzigen Wert hätte.
Mein Programm bis jetzt: (kommen noch mehr Sensoren)
Code: Alles auswählen
#Alle Sensoren
import csv, os, time
def Feinstaub():
for filename in os.listdir("/home/pi/Documents/Feinstaubdaten"):
with open("/home/pi/Documents/Feinstaubdaten/" + filename, 'r') as csvfile:
reader = csv.reader(csvfile, delimiter=";", quotechar=' ')
datenfs = list(reader)
name= datenfs[0][0]
pm25 = datenfs[2][2]
pm10 = datenfs[2][3]
datum = datenfs[2][0]
uhrzeit = datenfs[2][1]
pm25n = "PM 2.5"
pm10n = "PM 10"
einheit = "μg/m^3"
filestr = os.path.join('/home/pi/Documents/Feinstaubdaten',filename)
os.remove(filestr)
def main():
Feinstaub()
with open("/home/pi/Documents/Alle/Alle"+time.strftime("%Y%m%d_%H%M%S",time.localtime())+".csv", 'ab') as csvfile:
file = csv.writer(csvfile, delimiter=';', escapechar=' ', quoting=csv.QUOTE_NONE)
file.writerow([name, datum, uhrzeit, pm25, pm10])
csvfile.close()
if __name__ == "__main__":
main()