2016-11-17 3 views
1

Скажем, я запускаю скрипт Python в C:\temp\templates\graphics. Я могу получить текущий каталог с помощью currDir = os.getcwd(), но как я могу использовать относительный путь для перемещения вверх по каталогам и выполнить что-то в C:\temp\config (обратите внимание: эта папка не всегда будет в C:\)?Переместить вверх в структуре каталогов

+0

Что именно вы пытаетесь сделать? Если это '/ config' для вашей программы Python, подумайте о том, чтобы сделать его частью модуля, а не работать с рабочим каталогом. – jonrsharpe

+2

Вы ищете 'os.chdir ('..')'? – TigerhawkT3

+0

О, я просто попробовал это. Это выглядит многообещающе. Поэтому я могу использовать это для перемещения вверх, а затем снова выполнить os.getcwd(), чтобы получить каталог. спасибо – golu

ответ

0

Это не совсем понятно, что вы пытаетесь сделать, здесь два варианта:

Чтобы изменить текущую рабочую директорию вашего процесса в «вверх» по пути:

os.chdir('../../config') 

Или, чтобы открыть файл, используя относительный путь:

with open('../../config/my_config.ini') as cfg_file: 
    pass 

конечно, если вы изменить свой текущий рабочий каталог, то ваш open() аргумент должен измениться, а также:

os.chdir('../../config') 
with open('my_config.ini') as cfg_file: 
    pass 
0

Попробуйте это: os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "config")

0
>>> os.getcwd() 
'/Users/user/code' 
>>> os.chdir('..') 
>>> os.getcwd() 
'/Users/user' 
Смежные вопросы