我自己写了一个模块(即my_module.py)。这是访问位于同一目录下的数据库,只需用'database.db'的路径打开它。但是当我使用我的模块时,'database.db'引用的是我的模块所在的目录。
例如,我有以下目录结构。
/main
/my_module
my_module.py
database.db
script.py
所以如果我现在直接在my_module.py中使用'database.db',它就会指向 /main/my_module/database.db
. 但如果我在script.py中使用my_module,它就会指向 /main/database.db
导致错误。
所以我的问题是:如何才能让一个路径相对指向模块脚本 my_module.py
? (这样我就可以在任何地方使用它)非常感谢您的回答!我自己写了一个模块(即my_module.py)。
从 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')