Vorgabe bei raw_input

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.
Hanman
User
Beiträge: 48
Registriert: Mittwoch 31. März 2004, 12:24
Kontaktdaten:

Donnerstag 1. April 2004, 14:57

Hallo,
ich möchte das bei einer Eingabeaufforderung nicht nur der Normale Test steht, sondern auch noch eine Vorgabe, die man als Nutzer wärend der Eingabe editieren kann.
Zum Beispiel :
Ihre Name : Hans Mustermann <----- Das kann der Nutzer nach
| belieben verändern.
|
Das Normale
Argument
(unveränderbar)

Gruß Hanman
'Ich liebe es wenn ein Plan funktioniert'
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Donnerstag 1. April 2004, 19:00

Hi Hanman,

hast Du Dein Posting eigentlich selber mal durchgelesen, also ich werd da nicht so ganz schlau draus.

Wenn Du, eine Standarteingabe haben willst, wenn der User ohne etwas einzueben Enter drückt. Kannst Du das so machen.

Code: Alles auswählen

eingabe = raw_input("Programmiersparche : (Python) ")
if not eingabe:
    eingabe = "Python"
#Eingabe verarbeiten
#print eingabe

Gruß

Dookie
Gast

Donnerstag 1. April 2004, 20:40

Hallo,
ich wollte eigentlich wissen, ob man mit Python einer Eingabe einen Text zuweisen kann, der vom Nutzer editierbar ist.

Um noch mal das Beispiel zu nehmen :

Bei einer Eingabe soll man seinen Namen oder irgentetwas anderes eingeben. Das wäre dann ja einfach raw_input("Ihr Name : "). Ich möchte aber, das hinter dem Doppelpunkt noch etwas steht was der Nutzer selber verändern kann. Es soll also im Shell etwas wie : Ihr Name : Hans Mustermann erscheinen, aber das Hans Mustermann soll man löschen können um seinen eigenen Namen einzugeben.

Gruß Hanman
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Donnerstag 1. April 2004, 21:38

Ja klar kann man mit Python sowas machen.
raw_input ist aber die falsche Funktion.
du wirst curses dafür brauchen.


Gruß

Dookie
Gast

Freitag 2. April 2004, 08:54

Danke :), die Sachen die in der Dokumentation auf python.org stehen hören sich ja schonmal sehr gut an, doch ich habe auch anderen Seiten gelesen, das dieses Modul nicht in der Windows Distribution enthalten sei und auch nicht komplett Windows kompatibel sei.

Gruß Hanman
Gast

Freitag 2. April 2004, 21:27

So ich habe mich jetzt nochmal informiert und das Modul WConio gefunden. Gibt es in diesem Modul auch eine Funktion die soetwas kann, ich hab nähmlich keine gefunden. Oder gibt es noch andere alternatioven für Windows?

Gruß Hanman
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Freitag 2. April 2004, 22:10

Wenns schon unter Windows sein muss, warum nimmst Du nicht gleich Tkinter? Das ist so weit ich weiss, bei der Windowsversion von Python schon dabei.


Gruß

Dookie
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Samstag 3. April 2004, 08:53

Hi. Vielleicht will er ja ein Consolenscript schreiben, was er dann per Telnet bedienen kann? :wink: Nun ja, ansonsten falls es unbedingt WConio sein muss... die Befehle sind dieselben wie in Pascal. Allerdings wird die Programmierung dadurch nicht wirklich leichter, da so ein INterface nicht an die curses heranreichen kann...

Milan
Gast

Samstag 3. April 2004, 11:55

gibt es denn noch andere alternativen zu WConio? Wenn nicht werde ich versuchen mein Projekt unter Unix mit curses zu realisieren....

Gruß Hanman
Benutzeravatar
wuf
User
Beiträge: 1477
Registriert: Sonntag 8. Juni 2003, 09:50

Samstag 3. April 2004, 17:44

Hallo Gast

Willst du die Eingabe über eine grafisch orientierte (Windows like Fenster), oder über eine Textorientierte (Terminal like) Oberfläche eingeben?

Gruss wuf :wink:
Take it easy Mates!
Hanman
User
Beiträge: 48
Registriert: Mittwoch 31. März 2004, 12:24
Kontaktdaten:

Samstag 3. April 2004, 20:39

Heyho :)
blöder IE, löscht die Cookies immer nach jedem Runterfahren und ich vergess mich wieer einzuloggen...
Mir ist es mittlerweile eigentlich recht egal wie das von statten gehen soll. Ich habe mir jetzt mal Tkinter angeschaut und auch festgestellt das, das dann recht komplex werden würde. Ich möchte nur einen kleinen Contentmanger für meine Homepage machen und da würde mir der SHell eben vollkommen reichen und da ich noch totaler Anfänger bin würde ich auch ein Shell prog bevorzugen, weil ich denke das sowas einfacher zu verwirklichen wäre...

Gruß Hanman
'Ich liebe es wenn ein Plan funktioniert'
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Samstag 3. April 2004, 21:17

warum machst Du es dann nicht gleich mit einem Webinterface, dann kannst du die Eingabefelder der Forumulare auch mit Texten vorbelegen.


Gruß

Dookie
JPohlmann
User
Beiträge: 7
Registriert: Freitag 2. April 2004, 22:52

Samstag 3. April 2004, 21:29

Content-Management per Python-Programm, das scheint mir auch recht umständlich. Da liegen doch PHP oder CGI weitaus näher und Daten lassen sich, wie Dookie schon richtig sagt, leicht per Formular verändern.
Hanman
User
Beiträge: 48
Registriert: Mittwoch 31. März 2004, 12:24
Kontaktdaten:

Samstag 3. April 2004, 21:33

Natürlich könnte ich das auch einfach per CGI erledigen, PHP wäre auch kein Problem, doch ich habe angefangen Python zu lernen um kleinere Programme endlich selber schreiben zu können und darum wollte ich eben aus dem CMS keine CGI Anwendung machen, aber ich sehe das das so wohl am einfachsten geht und üben kann ich da ja auch genug!

Gruß Hanman
'Ich liebe es wenn ein Plan funktioniert'
Benutzeravatar
wuf
User
Beiträge: 1477
Registriert: Sonntag 8. Juni 2003, 09:50

Samstag 3. April 2004, 22:38

Hi Hanman

Hier ist etwas Code zum herumspielen, welcher Tkinter benutzt,
sollte unter Windows und Linux laufen.

Die Anwendung besitzt ein Eingabefeld in welchem du Änderungen
vornehmen kannst und mit aktivieren der Entertaste wird diese
Änderung ausgegeben.

Code: Alles auswählen


#!/usr/bin/env python
# -*- coding: UTF-8 -*-

from Tkinter import *

def Beenden():
	# Hauptfenster schliessen
    sys.exit(0)

def Ausgabe(event):
	# Überträgt die Eingabe an das Ausgabelabel
	lblausgabe["text"] = 'Ausgabe: ' + eingabe.get()
	# Setzt eine Variable mit dem Eingabewert für weitere Verwendung
	myentry = eingabe.get()
	print myentry

#*****************
#* Programmstart *
#*****************
# Erzeugt ein Hauptfenster
root = Tk()
root.title('Eingabe')
xpos   = 10
ypos   = 10
width  = 400
height = 100
root.wm_geometry("%dx%d+%d+%d" % (width,height,xpos,ypos))

# Zeichensatz für das Ausgabelabel
font = ('Helvetica',20,'bold')

# Variablen
eingabe    = StringVar()
eingabe.set('Hans Mustermann')
entrylabel = 'Ihr Name: '
myentry    = ''

# Rahmen für die Aufnahme der Eingabebezeichnung & Eingabefeld
frame = Frame(root)
frame.pack()

# Label für Eingabebezeichnung
lbleingabe = Label(frame,text=entrylabel)
lbleingabe.pack(side='left')

# Eingabefeld
entry = Entry(frame,textvariable=eingabe,bg='white')
entry.pack(side='left')

# Die Änderung im Eingabefeld wird mit der Enter-Taste ausgegeben
entry.bind("<Return>",Ausgabe)

# Ausgabelabel für den Eingabewert
lblausgabe = Label(root,
			foreground ='blue',
			text       = 'Ausgabe: ' + eingabe.get(),
			font       = font,
			)
lblausgabe.pack(pady = 10)

# Schaltfläche für Beenden
bende = Button(root, text = "Ende", command = Beenden)
bende.pack(side= 'bottom')

root.mainloop()
Sorry! Ich habe leider keine Erfahrung mit PHP und CGI.

Gruss wuf :wink:
Take it easy Mates!
Antworten