我有一个使用正则表达式提取的列表,该列表将如下所示:
SRM Video Dest UDP QAM QAM PID In Out Detected Input Output PSI Uptime
Session ID ID Intf IpAddress Port Chan Domain Remap ProgNo ProgNo Bitrate State State Detected (s) Encryption
-------------------- --- ----- --------------- ----- -------- ------ ----- ------ ------ -------- ----- ------ -------- ------ ----------
000a000905000176794c 1 1 232.232.40.1 55000 0/0/48 2 No 62351 62351 46000 Off On Yes 3175405 Clear
000a000905000176794d 1 1 232.232.40.1 55000 0/0/49 2 No 62351 62351 46000 On On Yes 3175405 Clear
000a000905000176794e 1 1 232.232.40.1 55000 0/0/50 2 No 62351 62351 46000 Off Off Yes 3175405 Clear
读取逻辑如下,其中w00和w0是两个命令行。我在两个命令之间提取了内容。
with open(file, 'r', encoding='UTF-8') as fp_nei:
fp_reader = fp_nei.read()
pat = re.compile(w00 + '(.*?)' + w0, re.S)
videosession = pat.findall(fp_reader)
我想在“检测到的比特率”为零或“输入状态”为“关”时过滤该行。
如下所示:
SRM Video Dest UDP QAM QAM PID In Out Detected Input Output PSI Uptime
Session ID ID Intf IpAddress Port Chan Domain Remap ProgNo ProgNo Bitrate State State Detected (s) Encryption
-------------------- --- ----- --------------- ----- -------- ------ ----- ------ ------ -------- ----- ------ -------- ------ ----------
000a000905000176794c 1 1 232.232.40.1 55000 0/0/48 2 No 62351 62351 46000 Off On Yes 3175405 Clear
000a000905000176794e 1 1 232.232.40.1 55000 0/0/50 2 No 62351 62351 46000 Off Off Yes 3175405 Clear
我尝试使用如下所示的简单方法,但是似乎输出显示了所有行,而不是带有“ Off”的行。
for line in videosession:
if "Off" in line:
print(line)
您能给它点些照明吗?
繁星点点滴滴
森林海
MMMHUHU
相关分类