Подтвердить что ты не робот

Открыть файл в приложении Django

Я хочу открыть файл из приложения 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')
4b9b3361

Ответ 2

Я думаю, что нашел ответ через другой вопрос (да, я искал, прежде чем спрашивать...)

Теперь я делаю это

pwd = os.path.dirname(__file__)
file = open(pwd + '/baz.txt')