考虑以下 Python 代码:
import os print os.getcwd()
我os.getcwd()用来获取脚本文件的目录位置。当我从命令行运行脚本时,它给了我正确的路径,而当我从 Django 视图中的代码运行的脚本运行它时,它会打印/。
os.getcwd()
/
如何从 Django 视图运行的脚本中获取脚本的路径?
更新: 总结到目前为止的答案-os.getcwd()两者os.path.abspath()都给出了当前工作目录,该目录可能是也可能不是脚本所在的目录。在我的网络主机设置__file__中,只给出了没有路径的文件名。
os.path.abspath()
__file__
Python中没有任何方法(总是)能够接收脚本所在的路径吗?
您需要调用os.path.realpathon __file__,以便何时__file__是没有路径的文件名,您仍然可以获得 dir 路径:
os.path.realpath
import os print(os.path.dirname(os.path.realpath(__file__)))