Python当前脚本文件夹

时间:2019-06-13 15:14:57

标签: linux python-2.7

我正在尝试返回python脚本的当前文件夹路径,这就是我所拥有的

#test.py
import os
THIS_FOLDER = os.path.dirname(os.path.abspath('__file__'))
print(THIS_FOLDER)

当我运行此脚本时,它将返回在命令提示符下运行时所在的文件夹,而不是python脚本的文件夹。如何返回当前python文件的文件夹?

user@vm:~$ python -u dir/test.py
/home/user
user@vm:~$ cd dir
user@vm:~/dir$ python -u test.py
/home/user/dir

1 个答案:

答案 0 :(得分:0)

您需要删除__file__周围的引号

在您的脚本中os.path.abspath得到一个字符串'__file__'并返回'/home/user/__file__'(与* nix上的./__file__相同)。

os.path.dirname然后仅在字符串末尾剥离文件名,以便保留工作目录(./)。

编辑:您需要包含脚本(__file__)的文件夹的绝对路径。
它将变为:os.path.abspath(os.path.dirname(__file__))

查看this answer了解更多信息。