replace-stdout-stderr (UP022)
源自 pyupgrade linter。
有时提供修复。
作用
检查 subprocess.run
的使用,该使用会将 stdout
和 stderr
发送到管道。
为什么这不好?
从 Python 3.7 开始,subprocess.run
有一个 capture_output
关键字参数,可以设置为 True
来捕获 stdout
和 stderr
输出。 这等同于将 stdout
和 stderr
设置为 subprocess.PIPE
,但更明确且更易读。
示例
建议改为
修复安全性
此规则的修复被标记为不安全,因为将 stdout=subprocess.PIPE
和 stderr=subprocess.PIPE
替换为 capture_output=True
可能会删除附加到原始参数的注释。