"Async for" in python 3.4?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

Hallo,

ich würde gerne dieses "singalR" Modul in python 3.4 nutzen, muss es also übersetzen:
https://github.com/slazarov/python-sign ... t/issues/1
Dort könnt ihr auch sehen, wie ich die anderen async und await Begriffe bereits ersetzt habe.

Nur bei "async for" weiß ich nicht, wie ich das sinnvoll ersetze für python 3.4.
Google liefert lieder nur ein Ergebnis:
https://stackoverflow.com/questions/343 ... python-3-4

Soweit ich die antwort verstehe, soll das letzte Beispiel von "nitely" die gesuchte Antwort sein? Doch wie genau ersetzt dieser Code nun das Beispiel des Fragestellers? Beim Fragesteller kommen ja Platzhalter wie "TARGET", "ITER" und "BLOCK" vor, doch in der Lösungsantwort stehen diese nicht, weshalb ich nicht weiß wie das nun angewendet wird.

Und ja, ich würde gerne bei pthon 3.4 bleiben.
Benutzeravatar
noisefloor
User
Beiträge: 4178
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

asyncio ist IMHO erst ab Python 3.5 "richtig" nutzbar. Erst ab 3.5 sind alle Konzepte, die die Python-Entwickler für asyncio umsetzen wollten, auch vollständig umgesetzt. Python 3.4 hat nur eine "Vorstufe" von asyncio an Bord.

Meine Meinung: wenn du asyncio nutzen willst, dann nimm Python >= 3.5. Bei 3.4 hast du zu viele Einschränkungen und brauchst zu viele Work-Arounds.

Warum willst du eigentlich bei 3.4 bleiben?

Gruß, noisefloor
Serpens66
User
Beiträge: 259
Registriert: Montag 15. Dezember 2014, 00:31

noisefloor hat geschrieben:Hallo,

asyncio ist IMHO erst ab Python 3.5 "richtig" nutzbar. Erst ab 3.5 sind alle Konzepte, die die Python-Entwickler für asyncio umsetzen wollten, auch vollständig umgesetzt. Python 3.4 hat nur eine "Vorstufe" von asyncio an Bord.

Meine Meinung: wenn du asyncio nutzen willst, dann nimm Python >= 3.5. Bei 3.4 hast du zu viele Einschränkungen und brauchst zu viele Work-Arounds.

Warum willst du eigentlich bei 3.4 bleiben?

Gruß, noisefloor
ich hab zuviele schlechte Erfahrungen mit Python Versionen gemacht.
Ich weiß grad nicht mehr welche genau, aber es gibt auch einige Dinge die in python 3.4 funktionieren und in python 3.5 oder höher nicht mehr oder anders funktionieren.
Und da mein ganzes Projekt mit 3.4 geschrieben wurde und ich selbst nicht ohne stundenlanges nachforschen weiß, was ich alles anpassen müsste, will ich nicht riskieren, dass mein Projekt dann nicht mehr läuft bzw noch schlimmer ohne mein Wissen plötzlich etwas anders als ich es gewohnt bin ausgeführt wird und es dadurch zu unbemerkten Fehlern kommt.
narpfel
User
Beiträge: 690
Registriert: Freitag 20. Oktober 2017, 16:10

@Serpens66: Innerhalb einer Major-Version ist Python größtenteils aufwärtskompatibel, und in begründeten Fällen wird ein Kompatibilitätsbruch mehrere Versionen im Voraus angekündigt. Dazu gibt es What’s New in Python, insbesondere Porting to Python x.y.

Um zu überprüfen, dass eine Änderung nicht irgendwo zu unerwartetem Verhalten führt, schreibt man im besten Fall Unittests. Wenn man das nicht macht, hat man dann halt ein Problem.
Antworten