Wie kann ich in print() mit zusammengesetzten Variablen auf eine Variabel zugrifen?
-
WinterSea58716 -
21. Dezember 2019 um 21:08 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
Wie kann ich in print() mit zusammengesetzten Variablen auf eine Variabel zugrifen?? Schau mal ob du hier fündig wirst!
-
Entschuldigung, mit datei meine ich nur ein Variablennamen, keine reale Datei auf der Festplatte
-
-
Ich bekomme es einfach nicht hin!!!!!
Kann mir jemand vielleicht den zu mir passenden Code über den Menüpunkt "Code" schreiben?
-
- Offizieller Beitrag
-
Ja so meinte ich es. Vielen Dank für deine Antwort.
Allerdings kommt bei mir wenn ich:
eingebe
das:
Was habe ich falsch gemacht??
-
Er kann nicht bash meinen da sind leerzeichen vor und nach dem '='.
-
- Offizieller Beitrag
Ähh wir sind doch im Pythonunterforum.
@Computerjo zeige mal Dein Skript und wie Du das aufrufst!
-
Hier mein Programm:
Python
Alles anzeigenimport os from time import sleep import display_libery as display import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(29, GPIO.IN) GPIO.setup(31, GPIO.IN) GPIO.setup(33, GPIO.IN) zeile = 1 datei = 'datei' aktuellenummer = 1 zeile = str(zeile) os.system("ls /media/pi/Auto_Daten/Programme > dateien.txt") ausgabe = open("dateien.txt") for i in ausgabe: datei = str(datei) zeile = str(zeile) x = str(datei + zeile) #i.rstrip() y = x vars()[y] = i.rstrip() #entwerder: #print(x,": ",i.rstrip()) #oder: print(i.rstrip()) zeile = int(zeile) zeile = zeile + 1 zeile = str(zeile) sleep(1) ausgabe.close() ausgabe = "datei{0}.format(aktuellenummer)" print(ausgabe)
-
-
- Offizieller Beitrag
Ja, sorry mein Fehler!
-
Ausgehend vom Eröffnungspost:
-
Ich habe jetzt:
Python
Alles anzeigenimport os from time import sleep import display_libery as display import RPi.GPIO as GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(29, GPIO.IN) GPIO.setup(31, GPIO.IN) GPIO.setup(33, GPIO.IN) zeile = 1 datei = 'datei' aktuellenummer = 1 zeile = str(zeile) os.system("ls /media/pi/Auto_Daten/Programme > dateien.txt") ausgabe = open("dateien.txt") for i in ausgabe: datei = str(datei) zeile = str(zeile) x = str(datei + zeile) #i.rstrip() y = x vars()[y] = i.rstrip() #entwerder: #print(x,": ",i.rstrip()) #oder: print(i.rstrip()) zeile = int(zeile) zeile = zeile + 1 zeile = str(zeile) sleep(1) ausgabe.close() ausgabe = "datei{0}".format(aktuellenummer) print(ausgabe)
soweit so gut, aber ich erhalte als Ausgabe immer noch "datei1", nicht den Inhalt der Variable "datei1"
Hier meine Ausgabe (123, test, huhu sind Testverzeichnisse, was ich eigentlich will: den Inhalt von "datei1", also 123 ) :
-
Warum nicht einfacher, wie in der Dokumentation zu os beschrieben?
Ein Beispiel.
-
Hallo,
du kannst Variablennamen nicht so ohne weiteres dynamisch zusammensetzen. Wenn du der Meinung bist, dass das nötig ist, hast du in der Regel einen Fehler im Programmentwurf bzw. willst wahrscheinlich eine andere Datenstruktur als eine Variable, die an einen String gebunden ist, nutzen.
Oder, wenn es wirklich nur zwei Variablen sind, eine if-Abfrage.
Deinen Code verstehe ich nicht - was hast du vor? Einfach nur den Inhalt eine Datei ausgeben?
`os.system` ist veraltet, dass steht auch wörtlich in der Python Doku. Stand der Dinge ist das `subprocess` Modul. Bzw. in deinem Fall entweder die passenden Klassen / Methoden aus dem os-Modul oder - besser weil aktueller Stander der Ding - das `pathlib` Modul.
Gruß, noisefloor
-
-
Deinen Code verstehe ich nicht - was hast du vor? Einfach nur den Inhalt eine Datei ausgeben?
Das ist die Schlüsselstelle im Code:
Der Rest ist der verzweifelte Versuch, den Inhalt von dateien.txt zu lesen.
Im Prinzip geht es hier, im ersten Schritt, darum die Namen der im Verzeichnis /media/pi/Auto_Daten/Programme vorhanden Datei zu bekommen.
-
Das ist die Schlüsselstelle im Code:
Der Rest ist der verzweifelte Versuch, den Inhalt von dateien.txt zu lesen.
Im Prinzip geht es hier, im ersten Schritt, darum die Namen der im Verzeichnis /media/pi/Auto_Daten/Programme vorhanden Datei zu bekommen.
Danke für deine Antwort!!
Hast du eine andere/bessere Idee um das oben genannte zu erzielen?
-
Hast du eine andere/bessere Idee um das oben genannte zu erzielen?
Hat er dir schon gezeigt in Beitrag #15
-
Vielen Dank für eure Antworten!!
Ich habe es jetzt hinbekommen.
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!