在命令输出中找到b''?

时间:2013-05-19 04:44:41

标签: python linux python-3.x terminal command

我正在尝试从终端中的命令输出中查找特定字符串。但它不起作用。

这是我正在运行的命令:

check = subprocess.check_output("netctl list | sed -n 's/^\* //p'", shell=True)

这带回了两件事之一。如果未连接,则返回b'',否则返回b'$ networkname \ n'。

我用来检查它的代码如下:

p = re.compile(r"\bb''\b")
if p.search("b''"):
    print("False")
    return False
else:
    print("True")
    return True

然而,无论如何,它都会返回true。我也试过了:

if check == "b''":

但无论如何也是如此。我在这里失去了理智。是什么导致它不起作用?

提前致谢,

科迪

1 个答案:

答案 0 :(得分:2)

事实是,您应该寻找空的bytes文字b'',而不是字符串"b''"

if check == b'':