gpt4 book ai didi

python - 如何更新 python 附带的模块?

转载 作者:行者123 更新时间:2023-12-04 19:17:39 24 4
gpt4 key购买 nike

我在使用子流程模块时遇到问题。我错过了 check_output 函数,我想知道是否有办法在不完全重新安装 python 的情况下更新/替换它。

最佳答案

是的,有可能,如有必要,您可以自己添加该功能(仅在您需要向后功能时才建议)。

if 'check_output' not in dir(subprocess):
def check_output(cmd_args, *args, **kwargs):
proc = subprocess.Popen(
cmd_args, *args,
stdout=subprocess.PIPE, stderr=subprocess.PIPE, **kwargs)
out, err = proc.communicate()
if proc.returncode != 0:
raise subprocess.CalledProcessError(args)
return out
subprocess.check_output = check_output

但是正如该代码所示,您也可以将其编写得更冗长一些,并且它的操作方式没有任何不同。

编辑:直接从子流程模块版本 Python 2.7 复制
def check_output(*popenargs, **kwargs):
if 'stdout' in kwargs:
raise ValueError('stdout argument not allowed, it will be overridden.')
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
output, unused_err = process.communicate()
retcode = process.poll()
if retcode:
cmd = kwargs.get("args")
if cmd is None:
cmd = popenargs[0]
raise subprocess.CalledProcessError(retcode, cmd, output=output)
return output

关于python - 如何更新 python 附带的模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32100152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com