gpt4 book ai didi

python-3.x - 将 split() 与 subprocess.check_output() 结合使用

转载 作者:行者123 更新时间:2023-12-02 15:38:55 25 4
gpt4 key购买 nike

我正在尝试获取upower -d(shell 命令)的输出,并使用 .split() 将其分割成一个长列表,以便可以对其进行搜索。

当我这样做的时候

import subprocess
dump = subprocess.check_output(["upower", "-d"])
print(dump.split())

它将按预期以列表形式打印输出,除了列表中的每个元素前面都有一个“b”(不在字符串内)。

当我在 python 2.7 中执行相同操作时,它会给出我期望的输出,但我希望它在 python 3 中。

最佳答案

b""bytes Python 中的字面量。在 Python 2.7 中,""也是一个字节串。 print(your_list)打印每个项目的表示( repr ),这就是您看到 b"" 的原因在 Python 3 中有效,但在 Python 2 中无效。

subprocess.check_output()在 Python 2 和 3 中都返回字节,除非 universal_newlines=True在使用 locale.getpreferredencoding(False) 的 Python 3 中指定解码字节。

from subprocess import check_output

output = check_output(["upower", "-d"], universal_newlines=True)
print(output.split())

关于python-3.x - 将 split() 与 subprocess.check_output() 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22627999/

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