Текущий рабочий каталог по-разному отображается в python после обновления страницы

Это действительно странная ситуация. Я пытаюсь создать веб-фреймворк с использованием Python с нуля. И я пытаюсь получить текущий рабочий каталог (технически полный путь к текущему файлу.py) файла, используя приведенный ниже код.

os.getcwd()

Проблема в том, что.. Если я наберу код выше и перезапущу сервер uwsgi, напечатайте его. В первый раз он всегда печатается, как показано ниже.

/var/www/html/mydocroot

Затем, если я обновлю страницу, папка mydocroot автоматически исчезнет, ​​как показано ниже.

/var/www/html

И он создает такой же вывод после обновления страницы, как указано выше. Я потратил почти весь день, чтобы выяснить эту проблему. Любая идея или же опыт?

а также я пытался,

os.path.dirname(os.path.abspath(__file__))

и этот тоже.

Например,

/var/www/html/mydocroot/Core/Settings

результат, когда я перезагружаю сервер uwsgi,

/var/www/html/Core/Settings

Когда я обновляю страницу, "mydocroot" исчезает сам по себе, как указано выше.

server{
        server_name example.com;
        rewrite ^(.*) http://www.example.com permanent;
}

server {
    listen 80;
    server_name example.com *.example.com;

    location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/var/www/html/example/myapp.sock;
    }
}

Выше мой конфиг сервера nginx. и ниже конфигурация wsgi.

[uwsgi]
module = wsgi:application

master = true
processes = 1
touch-reload = /var/www/html/ggr/wsgi.py
socket = myapp.sock
chmod-socket = 664
vacuum = true
max-requests = 1
die-on-term = true
logger = file:/var/log/ggr.log
catch-exceptions = true

1 ответ

Файлы не имеют "текущего рабочего каталога". Существует только один глобальный текущий рабочий каталог для данного процесса. Текущий рабочий каталог может измениться

os.chdir('/new/working/directory')

Если вы хотите каталог конкретного файла, вы можете сделать это

os.path.dirname(os.path.abspath(__file__))
Другие вопросы по тегам