2013-06-29 2 views
2

У меня есть модуль, который имеет дело с базой данных с базой данных внутри директории модуля, структура файла выглядит следующим образомОткрытие файла в модуле независимо от текущего рабочего каталога

app/ 
    foo.py 
    database/ 
    __init__.py 
    bar.py 
    database.db 

Внутри моего bar.py файла У меня есть :

open("database.db") 

когда я импортировать этот модуль базы данных он дает ошибку, потому что файл database.db не может быть найден, но он работает, когда я использую open("database/database.db"). Есть ли способ открыть этот файл из любого другого каталога и правильно ли получить доступ к этому файлу?

ответ

2

Вы можете использовать __file__. Он сохраняет путь к текущему файлу python. Например, ваш файл bar.py может содержать примерно следующее:

from os import path 
open(path.join(path.dirname(__file__), "database.db")) 
+0

Спасибо, друг! Работал как шарм! –

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