我新手到Python和我試圖找到文件中的字和打印「整個」匹配線搜索文件和打印匹配的行一個字 - Python的
的exmaple.txt有以下文字:
sh version
Cisco IOS Software, 2800 Software (C2800NM-IPBASE-M), Version 12.4(3h), RELEASE SOFTWARE (fc2)
sh inventory
NAME: "2811 chassis", DESCR: "2811 chassis, Hw Serial#: FHK1143F0WY, Hw
NAME: "High Speed Wan Interface card with 16 RS232 async ports(HWIC-16A)",
NAME: "High Speed Wan Interface card with 16 RS232 async ports(HWIC-16A)",
NAME: "16 Port 10BaseT/100BaseTX EtherSwitch"
要求: 要查找的字符串「Cisco IOS軟件」,如果發現打印的是整條生產線。 查找 「姓名:」 在文件中,如果發現打印的是整條生產線&數出現的次數
代碼:
import re
def image():
file = open(r'C:\Users\myname\Desktop\Python\10_126_93_132.log', 'r')
for line in file:
if re.findall('Cisco IOS Software', line) in line:
print(line)
else:
print('Not able to find the IOS Information information')
def module():
file = open(r'C:\Users\myname\Desktop\Python\10_126_93_132017.log', 'r')
for line in file:
if re.findall('NAME:') in line:
print(line)
else:
print('No line cards found')
錯誤:
Traceback (most recent call last):
File "C:/Users/myname/Desktop/Python/copied.py", line 19, in <module>image()
File "C:/Users/myname/Desktop/Python/copied.py", line 5, in image if re.findall('Cisco IOS Software', line) in line:
TypeError: 'in <string>' requires string as left operand, not list
're.findall()'返回一個列表。您只能使用'如果在線' –
kuro