Hallo liebe Community,
ich würe gerne ein Programm schreiben welches mir ein Eingabefenster (z.B. ein Terminal) öffnet. Dort möchte ich dann befehle eingeben können, welche ich dann in meinem Programm-code entgegen nehme und bearbeite. Erst einmal möchte ich so ein interaktives Terminal geöffnet bekommen.
Leider habe ich keine Ahnung wie ich das machen könnte. Hättet ihr da Vorschläge oder Ideen ?
Ein schönes wochenende euch,
mit freundlichen Grüßen,
Uni
Terminal like UI in Python
Das cmd-Modul ist dafuer gedach: https://docs.python.org/2/library/cmd.html
Allerdings oeffnet das kein Terminal fuer dich, sondern funktioniert *in* einem geoeffneten Terminal in dem du das Programm aufgerufen hast.
Wenn du das Terminal oeffnen willst, kannst du das natuerlich drumrum tun, mit subprocess zB.
Allerdings oeffnet das kein Terminal fuer dich, sondern funktioniert *in* einem geoeffneten Terminal in dem du das Programm aufgerufen hast.
Wenn du das Terminal oeffnen willst, kannst du das natuerlich drumrum tun, mit subprocess zB.
- Unicorn Deluxe
- User
- Beiträge: 4
- Registriert: Freitag 9. Februar 2018, 17:06
Danke für deine schnelle Antwort __deets__.
Hättest du ein Code-beispiel von subprocess in so einem use-case ?
Ich werde mich da mal einlesen und schauen wie ich damit zurecht komme / zufrieden bin.
Vielen Dank noch mal
Hättest du ein Code-beispiel von subprocess in so einem use-case ?
Ich werde mich da mal einlesen und schauen wie ich damit zurecht komme / zufrieden bin.
Vielen Dank noch mal
Da ich deinen use-case noch nicht mal kenne, nicht wirklich. Hast du schon mal in die Dokumentation geschaut von subprocess? Und dir dann ueberlegt, wie du ein Kommando, das du auf der Shell eingibst, da aussehen wuerde? Ohne letzteres zu kennen, kann man da ja eh nix machen.
- Unicorn Deluxe
- User
- Beiträge: 4
- Registriert: Freitag 9. Februar 2018, 17:06
Use-case wäre hier:
-Terminal als extra Fenster öffnen
-phw eingeben
-'Hello World' ausgegeben bekommen.
Intern würde ich die Eingabe auf dem Terminal abfragen, überprüfen ob sie gleich 'phw' ist, und dann 'Hello World' printen (logischer weise auch in dem Terminal).
Anmerkung: das Terminal sollte keines von der Entwicklungsumgebung sein, sonder ein eigenständiges Fenster, und nur als Kommunikationsmittel zwischen Benutzer und Programm dienen.
-Terminal als extra Fenster öffnen
-phw eingeben
-'Hello World' ausgegeben bekommen.
Intern würde ich die Eingabe auf dem Terminal abfragen, überprüfen ob sie gleich 'phw' ist, und dann 'Hello World' printen (logischer weise auch in dem Terminal).
Anmerkung: das Terminal sollte keines von der Entwicklungsumgebung sein, sonder ein eigenständiges Fenster, und nur als Kommunikationsmittel zwischen Benutzer und Programm dienen.
Wie startest du denn von Hand ein Terminal? Und auf welchem OS bist du unterwergs? Wenn es um Linux geht, und auch wirklich immer ein Passwort - dafuer gibt's schon "ssh-askpass", zb in der ssh-askpass-gnome Inkarnation, bei der ein Fenster aufgeht, ein Passwort abfragt, und das dann zurueckliefert. Muss man nix programieren.
- Unicorn Deluxe
- User
- Beiträge: 4
- Registriert: Freitag 9. Februar 2018, 17:06
Da habe ich mich wohl missverständlich ausgedrückt.
Wenn mann in C ein einfaches Programm schreibt, z.B.:
Dies kompiliert und startet öffnet sich ein eingabefenster in Form eines cmd in dieses mann einen Wert für i eintragen muss.
Sagen wir nun das fertige Programm ist :
Als .exe umgewandelt wird beim ausführen ein Consolen Fenster geöffnet in welches man eine Zahl einträgt(z.B.:5) und anschließend wird "Die Zahl ist 5" ausgegeben.
Danach schließt sich das Fenster wieder und das Programm ist beendet.
Wie würde das in Python aussehen?
Wenn mann in C ein einfaches Programm schreibt, z.B.:
Code: Alles auswählen
int i = scanf("%d", &i);
Sagen wir nun das fertige Programm ist :
Code: Alles auswählen
int i = scanf("%d", &i);
printf("Die Zahl ist %d", i);
Danach schließt sich das Fenster wieder und das Programm ist beendet.
Wie würde das in Python aussehen?
Code: Alles auswählen
print(“Die Zahl ist: {}”, input())