Hallo,
wie kann ich in Python ein Script wie bspweise in PHP includen?
Bsp.:
def qwe():
efergerg
include...
Sodass dann auch die Einrückung stimmt? Oder geht das gar nicht?
Script "includen"?
Das ist nicht mit Python-Board-Mitteln möglich.
Am nächsten kommt dem die von execfile. Siehe auch:
http://docs.python.org/lib/built-in-funcs.html
HTH,
Gerald
PS: Python sieht zwar oberflächlich wie eine Script-Sprache aus, ist aber eher eine (sehr) dynamische Allzwecksprache mti der man auch Skripte schreiben kann.
Am nächsten kommt dem die von execfile. Siehe auch:
http://docs.python.org/lib/built-in-funcs.html
HTH,
Gerald
PS: Python sieht zwar oberflächlich wie eine Script-Sprache aus, ist aber eher eine (sehr) dynamische Allzwecksprache mti der man auch Skripte schreiben kann.
Um mal das "gott sei dank" etwas auszuführen:
Warum möchtest du so inkluden?
Wenn du eine Funktionalität kapseln willst, nutze funktionen, die du dann in anderen Dateien "aufbewahrst".
Es dürfte eigentlich keinen echten Grund geben, so zu programmieren (sagt ein unfreiwilliger PHP-Benutzer, der weiß, in was für murks diese Includes ausarten können).
Warum möchtest du so inkluden?
Wenn du eine Funktionalität kapseln willst, nutze funktionen, die du dann in anderen Dateien "aufbewahrst".
Es dürfte eigentlich keinen echten Grund geben, so zu programmieren (sagt ein unfreiwilliger PHP-Benutzer, der weiß, in was für murks diese Includes ausarten können).
das machst du mit "import". Das funktioniert allerdings nicht so wie bei PHP als eine Textersetzung, sondern macht nur die Namen verfügbar.SchneiderWeisse hat geschrieben:ja, und wie kann ich andere Dateien (in denen dann die Funktionen sind) einbinden?
Danke!
Code: Alles auswählen
# datei meinmodul.py
def func():
print "hello world"
Code: Alles auswählen
# datei main.py
import meinmodul
meinmodul.func()
Code: Alles auswählen
# explizit die funktion importieren
from meinmodul import func
func()
Zum Thema importe/module/packages solltest du dir vielleicht das Tutorial nochmal durchgucken, das ist recht grundlegender Krams.
-
- User
- Beiträge: 128
- Registriert: Freitag 22. Oktober 2004, 09:22
- Wohnort: Salzgitter
- Kontaktdaten:
http://docs.python.org/tut/node8.htmlJona hat geschrieben:da gibt es ja doch noch ein paar dinge zu beachten wie PYTHONPATH und __ini__.py ...
hat da jemand ein zusammenfassung zu zur hand?
I am not part of the allesburner. I am the [url=http://allesburner.de]allesburner[/url].
also, das ist ja weiter nicht schwierig, nur leider macht das mein mod_python nicht..., leigt das am mod_python oder mach ich was falsch?
modul_xy.py im gleichen Verzeichnis:
Danke!
Code: Alles auswählen
#!/usr/bin/python
#---Import---
import cgi
import time
import MySQLdb
import modul_xy
modul_xy.py im gleichen Verzeichnis:
Code: Alles auswählen
def xy:
wefgerg
Könnte am Syntaxfehler liegen:
Code: Alles auswählen
In [94]: def xy:
------------------------------------------------------------
File "<ipython console>", line 1
def xy:
^
<type 'exceptions.SyntaxError'>: invalid syntax
Ok, wo liegt denn Dein Modul relativ zur Datei, die importiert?
Code: Alles auswählen
In [1]: import sys
In [2]: print sys.path
Out[2]:
['',
'C:\\Python25\\Scripts',
'C:\\Python25\\lib\\site-packages\\pylons-0.9.5-py2.5.egg',
...]
Ich denke, irgendwas stimmt mit dem Dateinamen nicht, oder mit dem Ausführen des Scripts... oder sowas...
....
Was kann da flasch sein?
Danke...
Code: Alles auswählen
[
'(\\.py$)/',
'/usr/lib/python24.zip',
'/usr/lib/python2.4',
'/usr/lib/python2.4/plat-linux2',
'/usr/lib/python2.4/lib-tk',
'/usr/lib/python2.4/lib-dynload',
'/usr/lib/python2.4/site-packages'
]
Danke...