我正在尝试拆分我的工作目录,以获取脚本的基本路径,以便能够访问配置文件。
例如,我正在使用的目录是:C:\ Users \ testUser \ PycharmProjects \ my_script \ script \ bin
我需要的目录是:C:\ Users \ testUser \ PycharmProjects \ my_script
所以首先我使用os.getcwd()
来获取路径。 - > C:\ Users \用户为testUser \ PycharmProjects \ my_script \脚本\ BIN
然后我应用os.path.dirname(path)
这将返回目录名称。 - > C:\ Users \用户为testUser \ PycharmProjects \ my_script \脚本
最后,我使用my_path, stuff = os.path.split(the_dirname)
这将给我我需要的目录 - > C:\ Users \用户为testUser \ PycharmProjects \ my_script
我想知道有没有更好的办法呢?
答案 0 :(得分:1)
你这样做很好,但是如果你想获得当前目录的父目录,你可以使用os.pardir
。
例如,在我的机器上(Mac OS)(注意我当前的工作目录是/User/headless/Pictures/wallpapers
):
>>> import os
>>> current_path = os.getcwd()
>>> os.path.abspath(os.path.join(current_path, os.pardir))
'/Users/headless/Pictures'
>>> os.path.abspath(os.path.join(os.path.abspath(os.path.join(current_path, os.pardir)), os.pardir))
'/Users/headless'
基本上,我所做的只是询问父目录。然后询问父目录的父目录。
答案 1 :(得分:0)
也许你可以在你的diretory中创建一个包并使用以下命令返回root:__PATH __。
https://docs.python.org/3/reference/import.html#packages
或者
os.path.dirname(os.path.dirname(__文件__))