mod_python führt unter / aus ?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
naked_chef
User
Beiträge: 15
Registriert: Dienstag 3. Februar 2009, 10:02

hi,

ich sitze gerad an einem projekt indem ich mit mod_python und psp arbeite.
um das ganze etwas dynamischer gestalten zu können, wollte ich in den scripten mit relativen pfaden arbeiten, so wie es auch auf dem comandline problemlos klappt.

leider werden die psp's im /-verzeichniss des webservers ausgeführt, was dazu führt, dass die relativen-pfade wertlos sind.

der entsprechende teil in der vhost-config:

Code: Alles auswählen

<Directory /var/www>
...
AddHandler mod_python .psp .psp_
PythonHandler mod_python.psp
PythonDebug On
...
</Directory>

Code: Alles auswählen

html><body>
<%
import os
stro = "ls"
cmd2 = os.popen(stro)
res = [lines.strip() for lines in cmd2]
for x in res:
%>
<p><%= x %></p>
</body></html>
führe ich das script aus, bekomme ich alles aus / angezeigt.

gibt es eine möglichkeit das zu verhindern ?

danke und gruss naked
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Code: Alles auswählen

os.chdir(path)
:)
naked_chef
User
Beiträge: 15
Registriert: Dienstag 3. Februar 2009, 10:02

daran hab ich auch schon gedacht, aber os.chdir kann nicht mit ~ umgehen, was das ganze wieder undynamisch macht.
ms4py
User
Beiträge: 1178
Registriert: Montag 19. Januar 2009, 09:37

Code: Alles auswählen

os.environ['HOME']
:)
lunar

Als allgemeine Anmerkung wäre noch zu sagen, dass mod_python und insbesondere Python Server Pages veraltet ist. Falls Du ein neues Projekt anfängst, so nutze doch lieber eines der vielen WSGI-Rahmenwerke für Python (Django, Pylons, Bottle, etc.).
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

ice2k3 hat geschrieben:

Code: Alles auswählen

os.environ['HOME']
:)
Daneben gibts noch `os.path.expanduser`, ABER das is alles gefrickel um das Kernproblem. mod_python nicht zu verwenden ist die bessere Loesung.
naked_chef
User
Beiträge: 15
Registriert: Dienstag 3. Februar 2009, 10:02

mod_python und psp ist hier leider eine vorgabe, daher muss ich mich dem fuegen.

ich haette auch ehr django oder sogar tornado verwendet.

danke fuer die tipps

os. environ half mir mein problem zuloesen
Antworten