赋值给 os-environ (B003)
源自 flake8-bugbear linter。
作用
检查对 os.environ
的赋值。
为什么这不好?
在 Python 中,os.environ
是一个映射,代表当前进程的环境。
但是,重新赋值给 os.environ
不会清除环境。相反,它仅仅更新当前进程的 os.environ
。这可能会导致意外的行为,尤其是在子进程中运行程序时。
相反,使用 os.environ.clear()
来清除环境,或者使用 subprocess.Popen
的 env
参数将自定义环境传递给子进程。
示例
建议改为