Chcę otworzyć plik z aplikacji Django przy użyciu open()
. Problem polega na tym, że open()
wydaje się używać dowolnego katalogu, z którego uruchamiam polecenie runserver
jako root.Otwórz plik w aplikacji Django
E.g. jeśli mogę uruchomić serwer z katalogu o nazwie foo jak ten
$pwd
/Users/foo
$python myapp/manage.py runserver
open()
wykorzystuje foo
w katalogu głównym.
Jeśli mogę to zrobić zamiast
$cd myapp
$pwd
/Users/foo/myapp
$python manage.py runserver
myapp
będzie korzeniem.
Powiedzmy moja struktura folderów wygląda tak
foo/myapp/anotherapp
Chciałbym, aby móc otworzyć plik znajdujący się foo/myapp/anotherapp
ze skryptu również znajduje się w foo/myapp/anotherapp
prostu mówiąc
file = open('./baz.txt')
teraz , w zależności od tego, z czego uruchamiam serwer, muszę powiedzieć:
file = open('./myapp/anotherapp/baz.txt')
lub
file = open('./anotherapp/baz.txt')
Jeszcze raz dziękuję. Oczywiście Python nie jest moją normalną bronią z wyboru. –
To było właśnie to, czego potrzebowałem do mojego własnego problemu. Dzięki! – odedbd
Co, jeśli musisz zrobić krok wewnętrzny. mam na myśli co jeśli plik baz.txt znajduje się w jakimś folderze w module_dir, powiedzmy foo/baz.txt? – Clayton