Текущий рабочий каталог по-разному отображается в 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__))