An alle Schüler und Studenten mit Informatikproblemen

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.
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

daemonTutorials hat geschrieben: PHP ist standardmäßig für das Web ausgelegt, bei Python muss man meist folgende Imports tätigen:

Code: Alles auswählen

import urllib
import socket
import sys, os
import cgi
import cgitb; cgitb.enable()
os, socket und urllib nur in Fällen die was mit dem System, Serveranbindung oder Url manipulieren zutun haben!
Diese Aussage ist imho zu allgemein; in Python nutzt man sinnvoller Weise Frameworks für Webprojekte. Auf unterster Eben zu arbeiten ist heutzutage unüblich und vor allem idR. unnötig.
Ich persönlich nutze PHP am meisten. Python ist jetzt im Moment sehr gut für meine Seele!
Wenn Du Python beherrschst, arbeitest Du freiwillig mit PHP weiter??? :mrgreen:

SCNR
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

daemonTutorials hat geschrieben:Jo, also PHP ist ja extra für das Internet entwickelt und Python wird oft als Skriptsprache nur für Internet gedacht.
Nein. Fakt ist, dass Python und Web nur relativ spät erst populär geworden sind, eigentlich erst seitdem Ruby on Rails die Bühne betreten hat und davon inspirierte Frameworks wie TurboGears und Django entstanden sind.
daemonTutorials hat geschrieben:PHP - Webentwicklung
Python - GUI, Serveranwendung, Hintergrundanwendung (auf schnellen Servern auch Webentwicklung)
Von welchen schnellen Servern redest du? CPython ist eher schneller als PHP, vielleicht meinst du ja andersrum?
daemonTutorials hat geschrieben:PHP ist standardmäßig für das Web ausgelegt, bei Python muss man meist folgende Imports tätigen:

Code: Alles auswählen

import urllib
import socket
import sys, os
import cgi
import cgitb; cgitb.enable()
os, socket und urllib nur in Fällen die was mit dem System, Serveranbindung oder Url manipulieren zutun haben!
Quatsch. Das braucht man vielleicht wenn man CGI nutzt, aber davon wird seit, uhm, Jahren abgeraten. Und Tracebacks einfach so unkritisch zu aktivieren ist auch so eine Sache die man vielleicht besser bedenken sollte... denn man will ja schließlich nicht dass ggf. irgendwelche Passwörter in den Tracebacks auftauchen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Entschuldigung wenn ich etwas falsches gesagt haben sollte, aber so mach ich das!
Mit den Imports meine ich!

Und die anderen sachen, das nehme ich mal so mit!
LG Maik
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

daemonTutorials hat geschrieben: PHP ist standardmäßig für das Web ausgelegt, bei Python muss man meist folgende Imports tätigen:

Code: Alles auswählen

import urllib
import socket
import sys, os
import cgi
import cgitb; cgitb.enable()
os, socket und urllib nur in Fällen die was mit dem System, Serveranbindung oder Url manipulieren zutun haben!
Nein, niemand programmiert heutzutage noch für cgi…
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Also, ich benötige CGI für mein Projekt, da ich keinen Webserver mitliefern möchte, der massig Groß ist. Und in Django und andere programmiere ich grundsätzlich nicht. Ist mir zu Aufwendig und schwierig.
Außerdem mag ich es gerne, die Prozesse selber zu steuern.
LG Maik
BlackJack

@daemonTutorials: Dir wäre Bottle oder Flask im Gegensatz zu CGI zu schwierig? Ich glaube Du bist bei Python falsch. Du möchtest wohl lieber einen Webserver und CGIs in Assembler programmieren. Da hast Du dann noch mehr Kontrolle. :twisted:
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

@BlackJack: Soweit kommt's noch! Nein, ich habe mir Bottle tatsächlich schonmal angeguckt. Aber mir fällt nichts auf, was ich nicht selber machen könnte. Etwa geht das mit Bottle so und mit CGI so! Da besteht nur minimaler Unterschied.

Bottle hat zwar einen intigrierte Webserver, aber da kann ich meinen eigenen nutzen.
Okay, ich werde mir die Features von Bottle anschauen.
LG Maik
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

daemonTutorials hat geschrieben:@BlackJack: Soweit kommt's noch! Nein, ich habe mir Bottle tatsächlich schonmal angeguckt. Aber mir fällt nichts auf, was ich nicht selber machen könnte. Etwa geht das mit Bottle so und mit CGI so! Da besteht nur minimaler Unterschied.
Jo, nur dass du mit CGI das Rad immer neu erfinden musst und mit Bottle bereits vorhandenen Code nutzen kannst. Ich verstehe nicht dein Argument, warum du selbst was implementieren willst, was andere schon besser gemacht haben (siehe die Cookie-Funktionalität, von der letztens im Forum die Rede war).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Im Moment brauche ich keine Cookes, keine DB! Das einzige ist, ich möchte die URL auslesen. Und das geht mit Bottle glaube ich nicht.

Wenn es falsch ist, belehrt mich etwas anderem!
LG Maik
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

daemonTutorials hat geschrieben:Im Moment brauche ich keine Cookes, keine DB! Das einzige ist, ich möchte die URL auslesen. Und das geht mit Bottle glaube ich nicht.
Hu? Doch klar geht das, sonst wäre Bottle auch irgendwie ziemlich witzlos.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Aber wie kann ich bei so einem Beispiel die übergebenen Daten über die URL auslesen:

Code: Alles auswählen

# firlefanz

@route("/projects")
def projects():
    print("Hello World!")
In diesem Fall kann man http://localhost/test.py/projects eingeben oder kann man folgendes eingeben: http://localhost/projects.

Also? Ich kann die URL auch nativ über die Standard Library von Google auslesen, aber das macht wenig sinn, da das eine Heidenarbeit ist.

Ups! Genau das müsste ich ohne Middleware etc. machen! Verdammt!

Okay, ich schaue mir Bottle an und lade es herunter.
LG Maik
Benutzeravatar
daemonTutorials
User
Beiträge: 171
Registriert: Sonntag 6. Februar 2011, 12:06
Kontaktdaten:

Oh:

Code: Alles auswählen

from bottle import route, run

@route("/:project")
def index(project="World"):
    return "Hello %(world)s" % { "world" : project }

run(host="localhost", port=8080)
Aber wie kann man aus der URL das Projekt auslesen? Oder ist das so, wenn index() ausgeführt werden soll, dass project dann ein String enthalten muss?
Kann man das so vergleichen?:

Code: Alles auswählen

if project == "World":
    return "Hello %s" % project
Oder wie ist das?

EDIT:
"Utilities: Convenient access to form data, file uploads, cookies, headers and other HTTP related metadata."

Das bedeuted doch soviel, dass Bottle Tools für Form Data, Dateiupload, Cookies und HTTP Headers besitzt?
LG Maik
Benutzeravatar
snafu
User
Beiträge: 6731
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

@daemonTutorials: Ich denke mal, du suchst request.url, bzw was willst du denn jetzt tun: Die URL erhalten oder einen bestimmten Teil davon? Und es wäre übrigens schön, wenn du für deine Bottle-Fragen einen Thread in dem dafür vorgesehenen Forum erstellen könntest.

Achja, und nochwas: Man könnte natürlich alle möglichen Zusatzmodule selbst implementieren. Wenn es nur eine ganz spezielle Funktion ist, die man auch in einem Dreizeiler schreiben könnte, weil sie in keiner Abhängigkeit zum restlichen Code steht, dann sollte man das auch ruhig tun. Wenn da aber erheblich mehr Arbeit auf einen zukommt und man insbesondere keine Erfahrung bei dem Thema hat, dann würde ich durchaus zum Nutzen einer externen Bibliothek raten. Bottle und Flask haben sich halt zum Ziel gemacht, möglichst viel Kernfunktionalität zu bieten und dabei für "erweiterte" Anforderungen auf Middleware zu verweisen.
print ('python')
User
Beiträge: 14
Registriert: Mittwoch 18. Mai 2011, 13:40

ich bin voll und Ganz deiner Meinung
dein Beitrag ist der erste den ich lese ( ich bin neu in der python welt )
und ich bin schockiert das es Leute gibt die so was tuen :evil:
ich selber programmiere in meiner Freizeit und habe einen Heiden spaß daran.
Allerdings auch ein problem (um mehr darüber zu erfahren geht auf ALLGEMEINE FRAGEN \ PROBLEM)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

print ('python') hat geschrieben:ich bin voll und Ganz deiner Meinung
Wessen Meinung? Mir ist der Bezug recht unklar... ;-)
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
print ('python')
User
Beiträge: 14
Registriert: Mittwoch 18. Mai 2011, 13:40

Von der Anfangs meinung des Themas
Das mit den Hausaufgaben
Dark Shadow
User
Beiträge: 38
Registriert: Samstag 23. April 2011, 15:49

Ich finde es auch gut, dass Du das Thema ansprichst.
Ich habe (1 Tag nach der Anmeldung :shock: ) eine PN bekommen, in der ich nach der Lösung einer Aufgabe gefragt wurde.
Es liest sich immer gleich: "Ich habe neu mit Python angefangen und muss jetzt ein Programm schreiben" (nicht aus der PN, aber so in der Art habe ich es schon gelesen). Meine Frage:
Wenn man gerade in Python angefangen hat, warum muss man dann direkt ein Programm (Bankomat?) schreiben? Hat etwa jemand im Unterricht nicht richtig aufgepasst? Ich verstehe so etwas nicht. Gerade in Schulen ist die Lernkurve nicht allzu steil (es sei denn, die Klasse besteht aus lauter ProgrammiererInnen) und man kann kein Programm schreiben, wenn die Sachen nicht behandelt wurden (es gibt immer eine Lösung mit dem Erlernten, auch, wenn es einfacher ginge).
Benutzeravatar
christian1972
User
Beiträge: 4
Registriert: Samstag 23. Juli 2011, 11:17
Wohnort: 46397 Bocholt, NRW

Hallo zusammen,

ich bin neu hier und ja ich geb's zu: Ich hab keine Ahnung von Python!
( Bitte nich gleich steinigen! )

Bin nur durch Zufall hier gelandet, weil ich grad ein Programm benutze, das in Python geschrieben ist.
Meine Frage dazu ( andrer Beitrag ) hat gottlob nix mit Hausaufgaben zu tun.
Und für die Schule bin ich eh zu alt.

Mal zum Vergleich Java / Python...
Mir als Nicht-Programmierer fällt da gleich auf, dass ein Python-Quelltext scheinbar viel leichter lesbar ist, als Java... passt das?

Schönes Forum! :)

Gruß Christian
xxanonymousxx
User
Beiträge: 7
Registriert: Sonntag 25. September 2011, 14:21

ich hatte auch mal ein halbes Jahr Informatik in der Schule (Basic) .......

der Lehrer hat das so Zusammenhangslos erklärt, das ich nichts begriffen hab ........

Als ich mir 1-2 Woche Zeit genommen hab und ein PHP - VideoWorkshop durchgearbeitet hab, hab ich Begriffe wie Array, for/while-Schleife auf anhieb begriffen und konnte selbst schon kleine Websides programmieren ... 1-2 Wochen später, hatte ich die Programmiersprache intus.



Ich denke, dass es sehr an den Lehrern liegt, weil die das so theoretisch und ohne Bezugspunkte machen ......
nomnom
User
Beiträge: 487
Registriert: Mittwoch 19. Mai 2010, 16:25

xxanonymousxx hat geschrieben:Ich denke, dass es sehr an den Lehrern liegt, weil die das so theoretisch und ohne Bezugspunkte machen ......
Hört sich an wie: "Alle Lehrer machen den Informatikunterricht zu theoretisch und ohne Bezugspunkte" ...
Antworten