我有一个相当大的.txt文件 - 大约70K行。
我正在尝试使用Python查找字符串“无法更新”的所有实例。
当我打开文件并在“无法更新”时使用ctrl-f时,它会立即找到它;但是,在Python,.find()中使用RegEx时,或者如果在,它只是找不到字符串。请参阅下面我使用的三种方法:
RegEx方法:
f = open('C:\PerfupD.txt', 'r')
strings = re.findall('Cannot update', f.read())
print(strings)
.find():
with open('C:\PerfUpD.txt', 'r') as file:
for line in file:
if line.find('Cannot update') != -1:
print("Errors found")
如果在:
with open('C:\PerfUpD.txt', 'r') as file:
for line in file:
if 'Cannot update' in line:
print("Errors found")
我甚至尝试搜索“Ca”但它找不到任何东西,但是当我只搜索“C”时它发现了大量的实例......一方面注意到这个.txt文件是从一个网站生成的。最初将文件保存为.err文件。然后我把它保存为.txt。
我唯一能想到的是,文件中的数据可能是以其他形式生成的,但在打开时看起来像普通文本。任何见解都非常感谢!
答案 0 :(得分:0)
你可能只是这样做:
f = open('your file.txt', 'r+')
for line in f:
if 'Cannot Update' in line:
print('error found')
不需要正则表达式