如何使用Python中的subprocess.Popen返回编码值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Python中的subprocess.Popen返回编码值?相关的知识,希望对你有一定的参考价值。

有人可以告诉我如何编码return语句,以便它可以解码它。或者需要更改以获得编码值。

def run_process(cmd_args):
    with subprocess.Popen(cmd_args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) as proc:
        return proc.communicate()


res = run_process(cmd_args);
print(res)
print(res.decode("utf-8"))

产量

print(res.decode("utf-8"))
AttributeError: 'tuple' object has no attribute 'decode'
答案

Popen.communicate返回(stdout, stderr)的元组,因此您需要将返回值视为:

stdout, stderr = run_process(cmd_args);
print(stdout)
print(stdout.decode("utf-8"))

请阅读Popen.communicate's documentation了解更多详情。

以上是关于如何使用Python中的subprocess.Popen返回编码值?的主要内容,如果未能解决你的问题,请参考以下文章

subprocess.Popen 需要帮助

subprocess.Popen("echo $HOME"... 和 subprocess.Popen(["echo", "$HOME"]

网络编程 --ftp上传

pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your p

如何使用 Python 中的 DLL 文件?

Python中的socket如何使用?