基于 Python 和 Onebot11 的QQ机器人开发——模块引用中环境变量的学习
先看一个例子
假设文件结构如下
1 | project/ |
代码如下
1 | # app/scripts/GroupManager/main.py |
解释一下下面这段代码
1 | sys.path.append( |
这段代码的作用是将一个目录路径添加到 Python 的模块搜索路径中。具体来说,它通过多次调用os.path.dirname
函数,逐级向上查找目录,最终找到项目的根目录,并将其添加到sys.path
中。这样,Python 在导入模块时,就可以从这个根目录开始搜索,从而找到项目中的模块。
在这里是首先获取当前文件的绝对路径,然后获取其上级目录,再获取上级目录,最后获取上级目录,然后将这个目录添加到 Python 的模块搜索路径中。获取了三层路径,最后把路径project/app
添加到 sys.path 中。如此就可以通过绝对路径导入模块。例如from app.scripts.GroupManager.banned_words import *
下面再解释一下下面的代码
1 | DATA_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "data") |
这里是获取当前文件的绝对路径,然后获取其上级目录,然后将data
目录添加到这个路径中,然后赋值给DATA_DIR
。
- 标题: 基于 Python 和 Onebot11 的QQ机器人开发——模块引用中环境变量的学习
- 作者: W1ndys
- 创建于 : 2024-08-04 16:47:17
- 更新于 : 2025-01-17 20:28:48
- 链接: https://blog.w1ndys.top/posts/55d6cfbc.html
- 版权声明: 版权所有 © W1ndys,禁止转载。
评论