Как ссылаться на файл относительно оригинального скрипта? - PullRequest
0 голосов
/ 30 апреля 2020

Я написал свой собственный модуль (т.е. my_module.py). Это доступ к базе данных, расположенной в том же каталоге, просто открыв ее с путем «database.db». Но когда я использую мой модуль, «database.db» ссылается на каталог, в котором используется мой модуль.

Например, у меня есть следующая структура каталогов:

/main
  /my_module
    my_module.py
    database.db
  script.py

Так что, если я сейчас непосредственно используя «database.db» в my_module.py, он указывает на /main/my_module/database.db.
Но если я использую my_module внутри script.py, он указывает на /main/database.db, что вызывает ошибку.

Так что мой вопрос: как можно иметь путь, указывающий относительно скрипта модулей my_module.py? (так что я могу использовать его в любом месте) Большое спасибо за ответы!

1 Ответ

0 голосов
/ 30 апреля 2020

С script.py попробуйте использовать os.path, чтобы получить каталог скриптов. Затем вы можете создать относительный путь к файлу базы данных:

import os
maindir = os.path.dirname(__file__)
my_module_dir = os.path.join(maindir, 'my_module')
db_path = os.path.join(my_module_dir, 'database.db')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...