__file__

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Hi...

Lokal liefert mit __file__ brav den Dateinamen des aktuellen Skripts... Leider funktioniert das auf dem Internet Server nicht :(

Gibt es alternativen, außer Hardcoded???
reggid
User
Beiträge: 120
Registriert: Dienstag 8. Oktober 2002, 19:04
Wohnort: Dinslaken
Kontaktdaten:

Unter Windows läuft das ohne Prbleme, weiss aber nicht wie das mit MOD_Python ist!

Code: Alles auswählen

import sys, string
name= string.split((sys.argv[0]),'\\')[-1]
und wenn du nur den Namen ohne die Endung habe willst muss man es nurnoch ein wenig modifizieren:

Code: Alles auswählen

import sys, string
name= string.split((sys.argv[0]),'\\')[-1]
justName=string.split(name,'.')[0]
genrich
User
Beiträge: 91
Registriert: Sonntag 27. Juni 2004, 17:46

Unter Windows fuktioniert __file__ sowieso... Aber guter Tip! Leider geht es auf dem WebServer nicht :(

Du bringst mich da aber auf eine Idee:

Code: Alles auswählen

os.environ['SCRIPT_FILENAME']
Oder auch SCRIPT_NAME oder SCRIPT_URI beinhaltet u.a. den Namen des Skripts... Ob das auch für per inport intrigierte Skript-Dateien gibt weiß ich nicht, muß ich mal testen...
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Laut SelfHTML musst du in SCRIPT_NAME für den Pfad schauen, den der Browser verlangt hat und in SCRIPT_FILE_NAME nach dem Pfad, der physisch auf dem Rechner ist. Hat bei mir bis jetzt auch immer ganz gut geklappt...
Antworten