刷新页面后,当前工作目录在python中的显示方式不同
这真是奇怪的情况。 我试图从头开始使用Python创建一个web框架。 我正在尝试使用下面的代码获取文件的当前工作目录(技术上是当前.py文件的完整路径)刷新页面后,当前工作目录在python中的显示方式不同,python,nginx,uwsgi,Python,Nginx,Uwsgi,这真是奇怪的情况。 我试图从头开始使用Python创建一个web框架。 我正在尝试使用下面的代码获取文件的当前工作目录(技术上是当前.py文件的完整路径) os.getcwd() 问题是。。 如果我键入上述代码并重新启动uwsgi服务器,然后打印它。 第一次打印时,它总是打印如下 /var/www/html/mydocroot /var/www/html 然后,如果我刷新页面,“mydocroot”目录会自动消失,如下所示 /var/www/html/mydocroot /var/www
os.getcwd()
问题是。。
如果我键入上述代码并重新启动uwsgi服务器,然后打印它。
第一次打印时,它总是打印如下
/var/www/html/mydocroot
/var/www/html
然后,如果我刷新页面,“mydocroot”目录会自动消失,如下所示
/var/www/html/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_name example.com;
重写^(.*)http://www.example.com 永久的;
}
服务器{
听80;
server_name example.com*.example.com;
地点/{
包括uwsgi_参数;
uwsgi_pass unix:/var/www/html/example/myapp.sock;
}
}
文件没有“当前工作目录”。给定进程只有一个全局当前工作目录。当前工作目录可以更改
os.chdir('/new/working/directory')
如果需要特定文件的目录,可以这样做
os.path.dirname(os.path.abspath(__file__))
是的,但每次都应该打印相同的内容,在以后的通话中不应该更改。这很奇怪,不是吗?我关闭了viltualenv进行测试,因为我认为这可能是问题所在。还更改了文件夹权限。但还是没有运气,你用的是什么web服务器和wsgi服务器?我用的是ubuntu上的nginx服务器。我有16年的PHP开发经验。但在这种情况下,这很奇怪。结果应该和你之前提到的一样..可能想要包括你的nginx配置和wsgi文件我在我的原始文章中添加了NGix和wsgi文件。谢谢你的帮助。