说明:
函数place():查询子字符串在大字符串中的所有位置
函数seek_in_txt_name(add,name):在txt文件中寻找字符串,并输出字符串所在行列
def place(zi,mu):
"""查询子字符串在大字符串中的所有位置"""
len1 = len(zi)
pl = []
if zi == mu:
pl.append(0)
else:
for each in range(len(mu)-len1):
if mu[each:each+len1] == zi: # 找出与子字符串首字符相同的字符位置
pl.append(each)
return pl
def seek_in_txt_name(add,name):
"""在txt文件中寻找字符串,并输出字符串所在行列
add:文件的绝对路径
name:待查的字符串"""
with open(add) as f: # 打开文件
for each1 in f:
if name in each1: # 判断改文件内是否有待查字符
print('===============================================')
print('在文件【{0}】中找到关键字【{1}】'.format(add, name))
break
else:
continue
f.seek(0, 0)
count = 1 # 计算行数
for i in f: # 遍历文件每一行,i表示文件f的i行字符串
if name in i: # 查看该行是否有待查字符
# 有:储存字符所在行count,所在列lie
pl = place(name, i)
print('关键字出现在{0}行,第{1}个位置。'.format(count, pl))
count += 1
else:
count += 1