os.system return 是什么以及如何转换它的输出?

What does os.system return and how can I convert its output?

我是 os 库的新手,在尝试解码 QR 码并仅提取输出中有意义的部分时,我收到此错误:

AttributeError: 'int' object has no attribute 'replace'

乍一看我以为我应该转换os.system()函数的返回值,但我又收到同样的错误。

这是我的代码:

import os
test = str(os.system("zbarimg *.png"))
test.replace("QR-Code:", "")
print(test)

os.system() 命令 returns 进程的退出代码或状态(整数),取决于您的系统是 Windows 还是 Unix。这与您期望的不同,这是命令 zbarimg *.png.

的结果

到 运行 一个 shell 命令并得到它的输出,你可以检查对 this question.

的响应

您可能需要 subprocess.check_output(),因为它允许您

Run command with arguments and return its output as a byte string.