sys.stdout

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
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

hallöchen, ich möchte eine spzielle eingabe und ausgabe machen und dafür gerne sys.stdout bzw.sys.stdin benutzen...

es kann sein, dass ich vielleicht einfach zu dumm dafür bin, aberich kapiers einfach nicht, wie diese funktionieren sollen, als klase aufufen geht nicht, es hat selbst keine methoden, sondern nur eine unterklasse, und ich kapiers einfach nicht, kann mir jemand helfen?????

mfg cime
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Was meinst du denn mit "spezielle eingabe und ausgabe"???

Die redirect geschichte kennst du sicher, oder?

Hier mal ein Beispiel:

Code: Alles auswählen

import sys

class out_buffer:
    """
    Hilfsklasse um Ausgaben erst zwischen zu speichern und dann gesammelt zu erhalten
    """
    def __init__( self ):
        self.data = ""

    def write( self, *txt ):
        txt = [str(i) for i in txt]
        self.data += " ".join( txt )

    def __call__( self, *txt ):
        self.write( *txt )

    def get( self ):
        return self.data


if __name__ == "__main__":
    # stdout speichern
    save_stdout = sys.stdout

    My_out_buffer = out_buffer()

    # Umbiegen
    sys.stdout = My_out_buffer

    print "bla bla", 3846
    print "blub..."
    sys.stdout.write("test2", 3948)

    # stdout wieder herstellen
    sys.stdout = save_stdout

    print "Das war's:\n'''%s'''" % My_out_buffer.get()

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hm, Deine Frage ist wirklich nicht sonderlich klar. Aber vielleicht interessiert Dich doch diesr Thread.

Gruß,
Christian
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

also, ich schilder euch ma mein prob ....

ich möchte eine eingabe machen lassen die nur aus 1 und 0 besteht und bei der alle anderen eingaben einfach ignoriert werden (und bei esc soll abgebrochen werden)

naja, normalerweise würde ich das mit WConio machen, aber das geht hier nich, da ich nur die standard-module (plus die win32 erweiterung) zur verfügung habe ....

... naja, und nu hab ich keine wirkliche idee, wie ich das machen kann ....

kann mir da jemand helfen

PS: ich arbeite unter windows
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hmm, du könntest den User doch auch seine Eingaben machen lassen und von denen nur 0 und 1 rausfiltern und nur das akzeptieren.

Was spricht dagegen, WConIO zu installieren, wenn es genau dein Problem löst? Ja, du hast nur Python+pywin32, na und?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

WConIO müsste er zusätzlich installieren, oder?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ja, müsste er und er sagt auch, dass es das Problem lösen würde.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

Leonidas hat geschrieben:Hmm, du könntest den User doch auch seine Eingaben machen lassen und von denen nur 0 und 1 rausfiltern und nur das akzeptieren.
so werd ichs vermutlich machen müssen

das prob is, dass ich im mom nicht zuhause programmieren kann (wo übrigens WConio schon installiert ist), weil der rechner zuhause im mom (und auch noch für eine weile) kaputt ist, sondern in der schule programmieren muss, wo ich natürlich nichts installieren kann ....
Leonidas hat geschrieben: Was spricht dagegen, WConIO zu installieren, wenn es genau dein Problem löst? Ja, du hast nur Python+pywin32, na und?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

cime hat geschrieben:das prob is, dass ich im mom nicht zuhause programmieren kann (wo übrigens WConio schon installiert ist), weil der rechner zuhause im mom (und auch noch für eine weile) kaputt ist, sondern in der schule programmieren muss, wo ich natürlich nichts installieren kann ....
Geht schon! Du entpackst dir die entsprechende Datei und kopierst sie ins aktuelle Verzeichnis (WConio.py und _WConio.pyd) und schon geht es auch ohne installation.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

Joa, aber frag bevor du fremde Bibliotheks-Dateien auf die Schulrechner kopierst deinen Lehrer ;) ...

... ich hab damals als ich noch die Schulbank gedrückt habe etwas ähnliches gemacht und ordentlich was auf die Finger bekommen.

>>Masaru<<
cime
User
Beiträge: 152
Registriert: Dienstag 24. Mai 2005, 15:49

Leonidas hat geschrieben:
cime hat geschrieben:das prob is, dass ich im mom nicht zuhause programmieren kann (wo übrigens WConio schon installiert ist), weil der rechner zuhause im mom (und auch noch für eine weile) kaputt ist, sondern in der schule programmieren muss, wo ich natürlich nichts installieren kann ....
Geht schon! Du entpackst dir die entsprechende Datei und kopierst sie ins aktuelle Verzeichnis (WConio.py und _WConio.pyd) und schon geht es auch ohne installation.
thx, klar, hätt ich selbser drauf kommen können *ahhhhhhh* thx

@Masaru: mach ich
Antworten