2016-05-17 4 views
0

Я пытаюсь разбить мой рабочий каталог, чтобы получить базовый путь скрипта, чтобы иметь доступ к конфигурационному файлу.
Например, каталог я работаю в: C: \ Users \ TestUser \ PycharmProjects \ my_script \ скрипт \ бен
каталог мне нужно: C: \ Users \ TestUser \ PycharmProjects \ my_script

Так первый я используйте os.getcwd(), чтобы получить путь. -> C: \ Users \ testUser \ PycharmProjects \ my_script \ 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

Я хотел бы знаете, есть ли лучше сделать это?Разделить каталоги на python

ответ

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' 

В принципе, все, что я сделал, было попросить родительского каталога. Затем попросите родительский каталог родительского каталога.

Смежные вопросы