在python

时间:2016-05-17 13:38:26

标签: python pycharm

我正在尝试拆分我的工作目录,以获取脚本的基本路径,以便能够访问配置文件。
例如,我正在使用的目录是: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

我想知道有没有更好的办法呢?

2 个答案:

答案 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(__文件__))