我正在尝试返回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
答案 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了解更多信息。