无法通过load_dotenv加载本地.env文件变量的问题求助
解决load_dotenv无法加载自定义命名.env文件的问题
问题根源
你创建的环境变量文件名为SAMPLE.env,但python-dotenv库的find_dotenv()函数默认只会搜索名为.env的文件,这就是变量加载失败的核心原因。
解决方案
方案1:重命名文件为.env
直接把SAMPLE.env改名为.env,保持原有调用逻辑即可:
load_dotenv(find_dotenv())
方案2:显式指定自定义文件名路径
如果不想修改文件名,直接在load_dotenv中传入完整文件路径:
import os from dotenv import load_dotenv # 基于当前工作目录指定路径 load_dotenv(os.path.join(os.getcwd(), "SAMPLE.env")) # 或者基于脚本所在目录指定(避免工作目录不一致问题) import sys load_dotenv(os.path.join(sys.path[0], "SAMPLE.env"))
方案3:通过find_dotenv的filename参数指定目标文件
find_dotenv支持通过filename参数自定义要查找的文件名:
from dotenv import load_dotenv, find_dotenv load_dotenv(find_dotenv(filename="SAMPLE.env"))
额外验证建议
- 加载后直接打印目标变量确认,避免因
os.environ.keys()输出内容过多漏看:print(os.getenv("MNEMONIC")) - 规范.env文件格式:变量名与值之间的空格不影响加载,但建议写成
MNEMONIC='one two three...'的形式
内容的提问来源于stack exchange,提问作者Sam CD
相关产品推荐
相关产品推荐

