VSCode 在导入环境变量时显示 .env 文件中的内联注释和引号,我不明白为什么。如果我仅在 VSCode -> Run 中从终端运行脚本,则不会发生这种情况。还有
值可以不加引号、单引号或双引号。键、等号和值前后的空格将被忽略。值后面可以有注释。
这是我的.env:
TEST='abc'
TEST2="def"
TEST3='ghi' # comment 1
TEST4="hig" # comment 2
这是文件 test_dotenv.py:
import os
from dotenv import load_dotenv
load_dotenv()
print("-=-START")
print(os.getenv('TEST'))
print(os.getenv('TEST2'))
print(os.getenv('TEST3'))
print(os.getenv('TEST4'))
在终端中,它按预期运行:
python ./tests/component/test_dotenv.py
在 VSCode 中,它不会:
dotenv 文件不是 python 代码,行中间的
#
不是注释。
不过,您应该能够以 beginning by
#
行的形式发表评论。
它似乎可以在您的终端上运行,这一事实可能是未经证实的行为,您不应该依赖于此。
根据文档:
python-dotenv 支持的 .env 文件的语法与 Bash 类似:
# Development settings DOMAIN=example.org ADMIN_EMAIL=admin@${DOMAIN} ROOT_URL=${DOMAIN}/app