Я хочу открыть файл из приложения Django, используя open()
. Проблема в том, что open()
, похоже, использует любую директорию, из которой я запускаю команду runserver
в качестве корня.
например. если я запустил сервер из каталога foo вроде этого
$pwd
/Users/foo
$python myapp/manage.py runserver
open()
использует foo
в качестве корневого каталога.
Если я сделаю это вместо
$cd myapp
$pwd
/Users/foo/myapp
$python manage.py runserver
myapp
будет корнем.
Скажем, моя структура папок выглядит так:
foo/myapp/anotherapp
Я хотел бы иметь возможность открывать файл, расположенный в foo/myapp/anotherapp
, из script, также расположенный в foo/myapp/anotherapp
, просто говоря
file = open('./baz.txt')
Теперь, в зависимости от того, где я запускаю сервер, я должен сказать, что
file = open('./myapp/anotherapp/baz.txt')
или
file = open('./anotherapp/baz.txt')