我正在尝试从终端中的命令输出中查找特定字符串。但它不起作用。
这是我正在运行的命令:
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''":
但无论如何也是如此。我在这里失去了理智。是什么导致它不起作用?
提前致谢,
科迪
答案 0 :(得分:2)
事实是,您应该寻找空的bytes
文字b''
,而不是字符串"b''"
。
if check == b'':