Seite 1 von 1
String weiterverarbeiten
Verfasst: Donnerstag 30. Juli 2009, 10:26
von Newbie2009
Hallo,
ich möchte in meinem Python Skript einen String weiterverarbeiten.
Der String wird an eine URL gesendet, welche eine Python Funktion aufruft.
In dieser Funktion soll der String weiterverarbeitet werden.
Ich habe es so probiert, funktioniert aber nicht:
Code: Alles auswählen
def import_test(self):
data = self.GET.get('data')
data = data.split('\n');
Wie kann man Strings weiterverarbeiten, die man über eine URL bekommt?
Verfasst: Donnerstag 30. Juli 2009, 10:45
von roschi
Hallo Newbie2009!
Arbeitest du mit CGI?
Falls ja:
Code: Alles auswählen
#!/usr/bin/env python
import cgitb
cgitb.enable()
import cgi, sys
sys.stdout.write("Content-Type: text/html\n\n")
form = cgi.FieldStorage()
data = form["date"].split("\n")
# ...
HTH
roschi
Verfasst: Donnerstag 30. Juli 2009, 10:50
von Newbie2009
Danke schön das werd ich mal probieren.
Gibt es auch eine Lösung ohne CGI?
Verfasst: Donnerstag 30. Juli 2009, 10:54
von roschi
Newbie2009 hat geschrieben:Gibt es auch eine Lösung ohne CGI?
Naja, du musst ja irgendwie mit deinem Webserver kommunizieren und dir die Daten reichen und zurueckgeben lassen. Natuerlich kannst du auch mit einem Webframework (Forensuche hilft) arbeiten.
HTH
roschi
Verfasst: Donnerstag 30. Juli 2009, 11:19
von Rebecca
Evtl waere XML-RPC auch was fuer dich, gibt's auch in der Standardbibliothek.
Verfasst: Donnerstag 30. Juli 2009, 11:33
von Newbie2009
Ich hab das mit CGI mal probiert.
Code: Alles auswählen
def import_article(self):
sys.stdout.write("Content-Type: text/html\n\n")
form = cgi.FieldStorage()
data = form["date"].split("\n")
print data
Da bekomme ich die Fehlermeldung: KeyError 'date'
Was stimmt da jetzt nicht?
Verfasst: Donnerstag 30. Juli 2009, 11:38
von roschi
Newbie2009 hat geschrieben:Da bekomme ich die Fehlermeldung: KeyError 'date'
Was stimmt da jetzt nicht?
Entschuldige, aber ich habe mich vertippt. Du musst als Key in den eckigen Klammern eben anstatt "date" "data" oder wie auch immer dein parameter den du uebergeben bekommst heisst. Aber das haettest du doch aufgrund der eindeutigen Fehlermeldung auch selber erkennen koennen. Ich empfehle dir mal ein Tutorial ueber Python durchzuarbeiten. Empfehlenswert ist IMHO 'A Byte of Python'.
HTH
roschi
Verfasst: Donnerstag 30. Juli 2009, 11:44
von Newbie2009
Ich hatte "data" ja auch schon probiert, da ging es auch nicht. Aber ich weiß woran das gelegen hat, ich hatte keine Werte in "data" übergeben.
Verfasst: Samstag 1. August 2009, 13:50
von Hyperion
Es gibt dafür doch
getfirst(). Damit kann man default-Werte angeben und läuft nicht in einen KeyError - wenn man das denn so möchte.
Code: Alles auswählen
form = cgi.FieldStorage()
data = form.getfirst("date", "keine Angabe")
print data
Steht aber alles in der Doku zum cgi-Modul
