Der >> Operator wird doch bereits für das shifting benutzt, oder?... Auf jedenfall funktioniert dein Beispiel nich so.
Vielleicht bin ich auch zu unfähig..
(Debian müsste es doch auch wie Arch Linux machen bei Python Versionen... Das bedeutet das Python 3.0 extra gekennzeichnet wird und die stabile 2.5 Installation nicht beeinflussen sollte. So kenn ich das zumindest bei Linux...)
Python 3000 alpha1 ist draußen!...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Stimmt, da fehlt ein Komma:BlackVivi hat geschrieben:Der >> Operator wird doch bereits für das shifting benutzt, oder?... Auf jedenfall funktioniert dein Beispiel nich so.
Code: Alles auswählen
In [289]: print >>sys.stdout, 'Irgendwas'
Irgendwas
Ist doch auch so...BlackVivi hat geschrieben:(Debian müsste es doch auch wie Arch Linux machen bei Python Versionen... Das bedeutet das Python 3.0 extra gekennzeichnet wird und die stabile 2.5 Installation nicht beeinflussen sollte. So kenn ich das zumindest bei Linux...)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Dann verwirrst du mich. Wieso willst du es dann backporten oO?... Zu was? Python3.0 is dann ein eigenes Paket was du ohne Einfluss auf dein Python 2.5 System entfernen kannst mit Aptitude.
Der Quellcode funktioniert übrigens immernoch nich...
Ich bin wohl doch zu unfähig.
Edit: Ach, wie logisch. Unter IPython funktionierts natürlich genauso. Aber auch mit älteren Pythonversionen
IPython scheint die Pipingfunktion des Terminals zu übernehmen. Aber der Pythoninterpreter alleine kann mit dem Operator >> nichts anfangen... außer als Binäroperator. Aber das weißt du ja selber.
Mit Python 2.5 geht's... in Python 3 nich.
Der Quellcode funktioniert übrigens immernoch nich...
Code: Alles auswählen
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and
'TextIOWrapper'
Edit: Ach, wie logisch. Unter IPython funktionierts natürlich genauso. Aber auch mit älteren Pythonversionen
IPython scheint die Pipingfunktion des Terminals zu übernehmen. Aber der Pythoninterpreter alleine kann mit dem Operator >> nichts anfangen... außer als Binäroperator. Aber das weißt du ja selber.
Mit Python 2.5 geht's... in Python 3 nich.
Zuletzt geändert von BlackVivi am Samstag 1. September 2007, 19:40, insgesamt 3-mal geändert.
- Sr4l
- User
- Beiträge: 1091
- Registriert: Donnerstag 28. Dezember 2006, 20:02
- Wohnort: Kassel
- Kontaktdaten:
Es ging mir ums Prinzip. Man ändert nichts am Code man lässt sich alles normal printen und füngt sich einfach nur noch ne `def print()` hinzu und hat was neues.BlackVivi hat geschrieben:Wie umständlich !Sr4l hat geschrieben:Ich kann also das `standard` print zum Beispiel einfach überschreiben und dann alles was sonst geprintet wurden wäre in eine Datei um leiten oder ähnliches.
Die viele gute Sachen bei Python bleiben ja immer noch.
Code: Alles auswählen
fl = open("foo.txt", "w") print("foobaaaar!!!", file=fl) fl.close
man könnte auch einfach:
Code: Alles auswählen
def print(value):
pass
Natürlich kann man auch in Python 2.X sich seine eigene def print machen.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Zu Etch will ich es Backporten. Aus Sid. Oder Lenny. Wenn man ein Paket aus einer dieser Versionen nimmt und es auf die stable Distribution neukompiliert dann heißt das nun mal backporten.BlackVivi hat geschrieben:Dann verwirrst du mich. Wieso willst du es dann backporten oO?... Zu was? Python3.0 is dann ein eigenes Paket was du ohne Einfluss auf dein Python 2.5 System entfernen kannst mit Aptitude.
Sicher funktioniert der. Tipp ihn im Interpreter so ein, wie ich ihn geschrieben habe.BlackVivi hat geschrieben:Der Quellcode funktioniert übrigens immernoch nich...
Es funktioniert sowohl unter IPython aus auch im normalen interpreter, denn es ist einfach gültige Python-Syntax. Die Pipingfunktion des Terminals hat damit nichts zu tun, denn gilt nur wenn du Prozesse aufrufst.BlackVivi hat geschrieben:Edit: Ach, wie logisch. Unter IPython funktionierts natürlich genauso. Aber auch mit älteren Pythonversionen
IPython scheint die Pipingfunktion des Terminals zu übernehmen. Aber der Pythoninterpreter alleine kann mit dem Operator >> nichts anfangen... außer als Binäroperator. Aber das weißt du ja selber.
Klar, denn wenn ``print`` kein Statement ist, braucht man keine so krüpplige Syntax mehr.BlackVivi hat geschrieben:Mit Python 2.5 geht's... in Python 3 nich.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Ach Leute, wenn print euer einziges Problem ist...
Da geht noch was!BlackVivi hat geschrieben:Code: Alles auswählen
fl = open("foo.txt", "w") print("foobaaaar!!!", file=fl) fl.close
Code: Alles auswählen
with open('foo.txt', 'w') as f:
print("I know kung foo.", file=f)
- paedubucher
- User
- Beiträge: 30
- Registriert: Donnerstag 29. Juni 2006, 18:29
- Wohnort: Schweiz
- Kontaktdaten:
Meine grösste Hoffnung für Python 3000 ist ein "anständiges" GUI-Toolkit. Dabei denke ich besonders an eine Portierung eines plattformunabhängigen Toolkits wie wxWidgets oder Qt. wxWidgets - bzw. wxPython - wäre mir lieber, da es auf Linux auf die GTK-Komponenten zurück greift.
Tkinter ist tot, etwas neues muss her!
Tkinter ist tot, etwas neues muss her!
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Es ist dir hoffentlich nicht entgangen, dass es wxPython und PyQt auch schon für Python 2 gab
Integriert wird in Python 3 jedenfalls keines davon, dafür sind sie einfach zu groß.
Integriert wird in Python 3 jedenfalls keines davon, dafür sind sie einfach zu groß.