python使用dotenv的坑
坑一:默认不会更新的配置项
官方文档的例子简单易懂。
1 | from dotenv import load_dotenv, find_dotenv |
然而这个例子里面缺隐藏了一个大坑。此时当用户在.env
中更新配置项的值时,是不会生效的。原因是load_dotenv
默认不会更新已经存在的配置项。推荐使用override
参数,推荐代码如下:
1 | from dotenv import load_dotenv, find_dotenv |
坑二:#
的处理
考虑.env
中的如下写法:
1 | BASEURL=http://codehub.com/#/python |
暂且不讨论在url中带#
是否优雅。#
在url中表示锚点,的确是会经常用到的;然而在Python
中却是表示注释开始。此时BASEURL
的值会是http://codehub.com/
。以下写法均符合预期。
1 | BASEURL="http://codehub.com/#/python" |
需要使用双引号/单引号括起来。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Decmoe47's Blog!
评论