0

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

这是我正在运行的命令:

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''":

但无论如何,这也会返回 true。我在这里失去理智。是什么导致它不起作用?

4

1 回答 1

2

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

if check == b'':
于 2013-05-19T04:47:59.063 回答