Webserver mit CGI

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
hpa
User
Beiträge: 49
Registriert: Donnerstag 18. Oktober 2007, 16:56

Hallo,

ich habe zwar schon so eine ähnliche Frage gestellt aber bin nicht schlauer geworden habe Dokus gelesen und auch schon Formulare in Html geschrieben die Werte in diesem Formular dann in ein Pythonscript übergeben funktioniert alles tadellos, nur einfache Programme mit Zählschleife usw bekomm ich am Webserver einfach nicht zum laufen.

Wie z.b dieses Programm ich habe es wieder in den Urzustand geändert wäre toll wenn es mir einer so abändern kann das ich das Ergebnis (Laufzeit des Programmes am Webserver sehe).

Code: Alles auswählen

#!C:/xampp/Python/python 
# -*- coding: cp1252 -*- 

import time 

def do_timing(): 
    for s in range(1): 
        totaltime = 0 
        starttime = time.clock 


        zeros = [] 
        for i in range (1000000): 
            zeros.append('0') 

        
        stoptime = time.clock() 
        elapsed = stoptime-starttime 
        totaltime = totaltime+elapsed 
        print "Laufzeit des Programms %.3f sec " % (totaltime) 
do_timing() 
danke HPA

Edit by Gerold: Code in Code-Tags gesetzt. Bitte mache das beim nächsten Mal selber.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo hpa!

Zeile 9: ``starttime = time.clock()``

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
hpa
User
Beiträge: 49
Registriert: Donnerstag 18. Oktober 2007, 16:56

Danke Gerold, aber das alleine war es wohl nicht oder ??

lg hpa
Jona
User
Beiträge: 94
Registriert: Sonntag 23. September 2007, 23:25

das programm läuft so.
warum sollte es auf einem server nicht laufen?

wie machst du das denn genau?
laufen andere dinge, ein hello-world zb?
hpa
User
Beiträge: 49
Registriert: Donnerstag 18. Oktober 2007, 16:56

Ja "hello World" und die ganzen Sachen laufen alle.
Ich würde aber gerne die Ausgabe Laufzeit im Webbroser sehen.

mfg hpa
BlackJack

Dann lies Dir Doku zum Thema CGI durch, schau wo sich Dein "Hallo Welt" von diesem Skript unterscheidet und warum das wohl so ist und ändere das Skript entsprechend.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hallo hpa!

Hier habe ich ein paar (WICHTIGE!) Links für dich:

- [wiki]XAMPP mit Python CGI[/wiki]
- [wiki]CGI[/wiki]
- http://webpython.codepoint.net/introduction
- http://docs.python.org/lib/module-cgi.html
- http://docs.python.org/lib/module-cgitb.html

Du darfst auch nicht vergessen, dass du bei CGI zuerst den Header und dann zwei Leerzeilen übermitteln musst, bevor du den Content ausgeben kannst.

Und du solltest auch nie vergessen, dass CGI zwar ein guter Einstieg in die Webprogrammierung ist, aber nicht ideal ist um damit größere Websites zu programmieren.

Später solltest du dich mit Webframeworks wie z.B. CherryPy http://www.cherrypy.org/ befassen. Hier findest du einen Erfahrungsbericht zu CherryPy (=einfaches Webframework) und Cheetah (=Vorlagensprache) von mir: http://www.python-forum.de/topic-10807.html

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
hpa
User
Beiträge: 49
Registriert: Donnerstag 18. Oktober 2007, 16:56

Hier nochmal das Programm ich hab das aber auch schon vorher gehabt
im Webserver kommt aber trotzdem die Fehlermeldung viel kann nicht mehr sein oder????

Code: Alles auswählen

#!C:/xampp/Python/pyhton
# -*- coding: cp1252 -*-

import time
print 'Content-Type: text/html'
print
print '<html>'
print '<body>'
def do_timing():
        for s in range(1): # wie oft soll das Programm durchlaufen werden
            totaltime = 0
            starttime = time.clock()
        

# hier das zu testende Programm einfügen

            zeros = []
            for i in range (1000000):
                zeros.append('0')

# Ende

            stoptime = time.clock()
            elapsed = stoptime-starttime
            totaltime = totaltime+elapsed
            print ' Laufzeit des Programms %.3f sec' % (totaltime)

           
do_timing()
print '</body>'
print '</html>'
[code=py]
[/code]
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Und wo ist die Fehlermeldung, damit wir nicht raten müssen?

(zum Anderen könnte es helfen in der ersten Zeile "pyhton" mal richtig zu schreiben)

Was Gerolds Meinung zu CGI angeht kann ich auch bestätigen. Statt CherryPy kannst du dir aber auch Django oder Werkzeug anschauen, die sind auch *sehr* brauchbar. Bei Pylons und Grok weiß ich es noch nicht, aber sie könnten sich auch als Klasse Helfer herausstellen. Insbesondere Grok hat einige Eigenschaften, die es stark von anderen Frameworks unterschieden.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
hpa
User
Beiträge: 49
Registriert: Donnerstag 18. Oktober 2007, 16:56

Also das gibs doch nicht,

danke für eure Hilfe (das ich blind bin :))) )

mfg hpa
Antworten