2

我有一个模块处理一个数据库,模块目录里面有数据库,文件结构如下

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

在我的bar.py文件中,我有:

open("database.db")

当我导入这个数据库模块时,它会给出一个错误,因为database.db找不到该文件,但是当我使用open("database/database.db"). 有没有办法可以从任何其他目录打开此文件并让模块正确访问该文件?

4

1 回答 1

3

您可以使用__file__. 它保留当前python文件的路径。例如,您的bar.py文件可能包含类似这样的内容

from os import path
open(path.join(path.dirname(__file__), "database.db"))
于 2013-06-29T13:34:01.140 回答