Seite 2 von 2

Re: String durchsuchen

Verfasst: Samstag 6. März 2021, 13:02
von __deets__
Da hat sich nichts geaendert. Falsch programmiert ist das alles auch schon mit Python2 gewesen.

Es gibt nun mal in Hochsprachen Datenstrukturen, und ohne die kommt man da nicht aus. Du wirst nicht drum rumkommen, dir das drauf zu schaffen.

Re: String durchsuchen

Verfasst: Montag 8. März 2021, 20:59
von spicer
Ok.
data = loc.sun(date.today()).items()
gibt aus:
dict_items([('noon', datetime.datetime(2021, 3, 8, 12, 40, 56, tzinfo=<DstTzInfo 'Europe/Zurich' CET+1:00:00 STD>)), ('dawn', datetime.datetime(2021, 3, 8, 6, 24, 33, tzinfo=<DstTzInfo 'Europe/Zurich' CET+1:00:00 STD>)), ('sunrise', datetime.datetime(2021, 3, 8, 6, 54, 53, tzinfo=<DstTzInfo 'Europe/Zurich' CET+1:00:00 STD>)), ('sunset', datetime.datetime(2021, 3, 8, 18, 26, 59, tzinfo=<DstTzInfo 'Europe/Zurich' CET+1:00:00 STD>)), ('dusk', datetime.datetime(2021, 3, 8, 18, 57, 19, tzinfo=<DstTzInfo 'Europe/Zurich' CET+1:00:00 STD>))])

sun1 = data["sunset"]
gibt diesen Fehler:

Traceback (most recent call last):
File "./test.py", line 31, in <module>
sun1 = data["sunset"]
TypeError: 'dict_items' object is not subscriptable

Laut https://www.python-kurs.eu/dictionaries.php müssten die Daten mit : getrennt sein. Liegt das an dem?

Edit:
Mit
data = loc.sun(date.today())
bekomme ich folgenden Output ^^

2021-03-08 18:26:59+01:00

Das ist ja schonmal etwas :)

Re: String durchsuchen

Verfasst: Montag 8. März 2021, 21:25
von __deets__
Items gibt dir die Sequenz der Einträge im Wörterbuch. Dafür gibt es Anwendungen (sonst wäre das nicht da), aber es ist ein unnötiger und falscher Schritt hier.

data = loc.sun(date.today())

ist alles, was du brauchst. Dann geht auch

sun1 = data["sunset"]

sun1 ist übrigens ein schlechter Name. Warum geht die Sonne um 1 unter? Warum heißt das nicht sunset? Der Name drängt sich doch förmlich auf.

Re: String durchsuchen

Verfasst: Montag 8. März 2021, 22:16
von spicer
Werde das noch umbenennen. War nur zum testen ^^
data = loc.sun(date.today()) hatte ich dann noch editiert.
Es läuft nun.
Danke Euch allen für die Unterstützung.
Hinweise wie Dictionary haben mich auf die Lösung gebracht.