Konsole erstellen
@Aries: IDLE ist eine Entwicklungsumgebung und normalerweise möchte man nicht das ein Editor aufgeht mit dem Quelltext wenn man ein Programm zum ausführen anklickt.
Wenn Du unter Windows eine Textkonsole (Eingabeaufforderung) haben möchtest dann musst *Du* die öffnen und *darin* dann ein Konsolenprogramm aufrufen. Oder Du erstellst eine entsprechende Verknüpfung auf die man klicken kann. Details dazu kann ich jetzt nicht liefern weil ich gerade kein Windows greifbar habe wo ich das mal eben ausprobieren kann.
Ansonsten suchst Du ``print`` und `raw_input()` beziehungsweise `print()` und `input()`.
Wenn Du unter Windows eine Textkonsole (Eingabeaufforderung) haben möchtest dann musst *Du* die öffnen und *darin* dann ein Konsolenprogramm aufrufen. Oder Du erstellst eine entsprechende Verknüpfung auf die man klicken kann. Details dazu kann ich jetzt nicht liefern weil ich gerade kein Windows greifbar habe wo ich das mal eben ausprobieren kann.
Ansonsten suchst Du ``print`` und `raw_input()` beziehungsweise `print()` und `input()`.
Bei pyw.-Dateien passiert das ja im Gegensatz zu py.-Dateien auch nicht.BlackJack hat geschrieben:normalerweise möchte man nicht das ein Editor aufgeht mit dem Quelltext wenn man ein Programm zum ausführen anklickt.
Von Pascal bin ich es halt gewöhnt, dass standardmäßig eine Konsole erscheint, die man mit {$apptype gui} ausschalten kann.BlackJack hat geschrieben:Wenn Du unter Windows eine Textkonsole (Eingabeaufforderung) haben möchtest dann musst *Du* die öffnen und *darin* dann ein Konsolenprogramm aufrufen.
Ich brauch sowas mehr zur Ausgabe, momentan sogar ausschließlich dazu.
Dafür scheint mir wohl eher das folgende das richtige zu sein:
Code: Alles auswählen
from Tkinter import *
tk = Tk()
text = Text(tk, height=20, width=50)
text.pack()
text.insert("@0,0", '''1
2
3
''')
tk.mainloop()
- dass ich so Ausgaben überhaupt nur sehe, wenn das gesamte Programm funktioniert, und nicht etwa alle bis zum Fehler,
- dass ich Fehlermeldungen nicht sehe, und
- dass die Eingabe ganz anders funktioniert.
An IDLE scheitert nichts, es ist nur etwas unbequem.sparrow hat geschrieben:Sollte es wirklich an idle scheitern
- Wenn man einen Namen markiert, werden andere Vorkommen des Namens nicht untermalt.
- Wenn man mehrmals Enter drückt, fehlen in den neu erstellten Zeilen abgesehen von der letzten die Einrückungen.
- Bei langem Code (momentan z. B. 1149 Zeilen, max. 1271 Spalten) stottert der Editor.
- Wenn man etwas markiert, kann man mit Rechtsklick nichts damit machen.
- Das Scrollen beim Markieren geht nur langsam.
- Die Farben stören mich auch irgendwie.
- Wenn man ein geändertes Programm ausführen will, geschieht die vorher notwendige Speicherung nicht automatisch.
@Aries: Wie gesagt, Du möchtest die Konsole selber öffnen und das Python-Programm von dort aus starten. Denn selbst wenn bei Klick auf *.py-Dateien automatisch eine Konsole startet, dann ist das spätestens bei Programmende, egal ob nun normal oder durch Fehler ein Problem, weil das Fenster dann auch automatisch wieder zugeht.
Das ist bei Pascal grundsätzlich auch nicht anders. So funktioniert das grundsätzlich mit Windows Konsolen-Anwendungen. Da kann es höchstens sein, dass die verwendete IDE etwas anderes anbietet.
Das ist bei Pascal grundsätzlich auch nicht anders. So funktioniert das grundsätzlich mit Windows Konsolen-Anwendungen. Da kann es höchstens sein, dass die verwendete IDE etwas anderes anbietet.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Das ist bei Python unter Windows auch der Fall. Hier schaltet man allerdings mit dem Interpreter. `python.exe` fuer Konsolenanwendungen und `pythonw.exe` fuer GUI-Anwendungen. Den beiden sind normalerweise `.py` respektive `.pyw` zugeordnet.Aries hat geschrieben:Von Pascal bin ich es halt gewöhnt, dass standardmäßig eine Konsole erscheint, die man mit {$apptype gui} ausschalten kann.
Herzlichen Glueckwunsch: Du hast die Konsole selbst ausgeschaltet.
http://wiki.python-forum.de/FAQ#Wie_sta ... Skripte.3F
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Wobei man bei dem ganz normalen Programmende einfach ein input() ans Ende des Programms setzen kann, so dass das Fenster auf bleibt und durch Druck von Enter geschlossen wird. Gut, das hilft natürlich nicht bei Fehlern, aber bei normalen Programmen ja schon.BlackJack hat geschrieben:@Aries: Wie gesagt, Du möchtest die Konsole selber öffnen und das Python-Programm von dort aus starten. Denn selbst wenn bei Klick auf *.py-Dateien automatisch eine Konsole startet, dann ist das spätestens bei Programmende, egal ob nun normal oder durch Fehler ein Problem, weil das Fenster dann auch automatisch wieder zugeht.
@Hellstorm: Und Du nervst damit alle die so ein Programm in einer Konsole starten und die am Ende immer noch völlig unsinnigerweise die Eingabetaste drücken müssen. Wenn ein Programm in einer Konsole laufen soll, dann sollte man es auch in der Konsole starten. Das ist der vorgesehene Weg.
Ach so. ".py" war bei mir dem Editor zugeordnet. Ich habe das jetzt geändert.cofi hat geschrieben: Das ist bei Python unter Windows auch der Fall. Hier schaltet man allerdings mit dem Interpreter. `python.exe` fuer Konsolenanwendungen und `pythonw.exe` fuer GUI-Anwendungen. Den beiden sind normalerweise `.py` respektive `.pyw` zugeordnet.
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
@Hellstorm: Auch "normale" Programme koennen Exceptions werfen bzw. nicht alle behandeln. Und selbst wenn sie sie behandeln macht es eventuell nur Sinn das Programm geregelt zu beenden, evtl mit einer Fehlermeldung ... die man nicht sehen wuerde, es sei denn man sprenkelt ueberall im Code `input()`.
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
Kann man mit einem Python-Programm herausfinden, ob es selbst in einer Konsole geöffnet wurde, bzw. ob sich die Konsole automatisch schließt, wenn das Programm zu Ende ist?BlackJack hat geschrieben:@Hellstorm: Und Du nervst damit alle die so ein Programm in einer Konsole starten und die am Ende immer noch völlig unsinnigerweise die Eingabetaste drücken müssen. Wenn ein Programm in einer Konsole laufen soll, dann sollte man es auch in der Konsole starten. Das ist der vorgesehene Weg.
Wie kommt man an die aktuelle Konsolenschriftfarbe, Konsolenhintergrundfarbe, Konsolenschriftart und Konsolencursorposition ran?jerch hat geschrieben:@Aries:
Der Interpreterprozess dürfte wissen, ob AllocConsole erfolgreich war. Ob er dies an irgendeiner Stelle in die Pythonumgebung durchreicht - kA.