Seite 2 von 2

Verfasst: Samstag 1. September 2007, 19:20
von BlackVivi
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...)

Verfasst: Samstag 1. September 2007, 19:27
von Leonidas
BlackVivi hat geschrieben:Der >> Operator wird doch bereits für das shifting benutzt, oder?... Auf jedenfall funktioniert dein Beispiel nich so.
Stimmt, da fehlt ein Komma:

Code: Alles auswählen

In [289]: print >>sys.stdout, 'Irgendwas'
Irgendwas
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...)
Ist doch auch so... :roll:

Verfasst: Samstag 1. September 2007, 19:30
von BlackVivi
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...

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'
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.

Verfasst: Samstag 1. September 2007, 19:34
von Sr4l
BlackVivi hat geschrieben:
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.

:-D
Wie umständlich :)!

Code: Alles auswählen

fl = open("foo.txt", "w")
print("foobaaaar!!!", file=fl)
fl.close
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.
man könnte auch einfach:

Code: Alles auswählen

def print(value):
    pass
Man kann einfach sau viel machen, das wollte ich nur damit mal sagen.
Natürlich kann man auch in Python 2.X sich seine eigene def print machen.
:-D

Verfasst: Samstag 1. September 2007, 20:06
von veers
Ich warte eher auf Pyython2.6 und damit brauchbaren SSL Support. :twisted:

Verfasst: Samstag 1. September 2007, 20:17
von Leonidas
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.
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:Der Quellcode funktioniert übrigens immernoch nich...
Sicher funktioniert der. Tipp ihn im Interpreter so ein, wie ich ihn geschrieben habe.
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.
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:Mit Python 2.5 geht's... in Python 3 nich.
Klar, denn wenn ``print`` kein Statement ist, braucht man keine so krüpplige Syntax mehr.

Verfasst: Samstag 1. September 2007, 23:30
von birkenfeld
Ach Leute, wenn print euer einziges Problem ist...

Verfasst: Sonntag 2. September 2007, 00:01
von mitsuhiko
Das mit print ist nur konsequent. Aber das mit dem Rüberportieren wird ein Spaß :-)

Verfasst: Montag 3. September 2007, 15:39
von Y0Gi
BlackVivi hat geschrieben:

Code: Alles auswählen

fl = open("foo.txt", "w")
print("foobaaaar!!!", file=fl)
fl.close
Da geht noch was!

Code: Alles auswählen

with open('foo.txt', 'w') as f:
    print("I know kung foo.", file=f)

Verfasst: Samstag 8. September 2007, 16:25
von paedubucher
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!

Verfasst: Samstag 8. September 2007, 16:39
von birkenfeld
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ß.