Настройка согласованного домашнего каталога для файлов Python - PullRequest
1 голос
/ 29 сентября 2019

Я пишу скрипт на python, который зависит от каталогов в своем репозитории.Я хочу узнать, как создать домашний каталог, который всегда занимает центральное место в каталоге хранилища.Это должно быть универсально для любого, кто хочет клонировать этот репозиторий на своем сервере.

Скрипт обращается к зависимым каталогам очень хорошо, когда я запускаю скрипт в каталоге репозитория.Если бы я должен был запустить скрипт за пределами каталога репозитория, выдается исключение FileNotFoundError .Каков наилучший способ обойти эту проблему?

# if I run this in the repo directory, it works just fine

import os.path
base_dir = os.getcwd()
csv_dir = f'{base_dir}/CSV'

# however, if I run this in a directory outside of the repository (e.g.
# $ python dir1/dir2/file.py ), a FileNotFoundError is thrown.

1 Ответ

1 голос
/ 29 сентября 2019

os.getcwd() возвращает рабочий каталог , который является каталогом, в котором запускается скрипт, а не каталогом хранилища.

Вместо этого следует использовать:

BASE_DIR = os.path.dirname(os.path.abspath(__file__))
...