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