小甲鱼第30课课后题
import osdef print_pos(file_path,lines_pos,lines_key_pos,key):
print('在文件%s中找到关键字【%s】' % (file_path,key))
if decide == 'yes':
print('关键字【%s】在%s行第%s位出现'% (key,lines_pos,lines_key_pos))
def char_pos(key,each_lines):
start = 0
pos = []
for i in each_lines:
start += 1
if key == i:
pos.append(start)
return pos
def read_each_lines(file_name,key):
lines = 0
lines_pos_list = []
file = open(file_name)
for each_lines in file:
lines += 1
if key in each_lines:
lines_pos_list.append(lines)
pos = char_pos(key,each_lines)
print_pos(file_name,lines_pos_list,pos,key)
#获取当前路径中的所有文件夹以及文件
def current_path(key):
txt_path_list= []#保存txt文件路径
for each_path in os.walk('D:\\测试文件'):
for each_file in each_path:
if os.path.splitext(each_file) == '.txt':
temp = os.path.join(each_path,each_file)
txt_path_list.append(temp)
key_pos = read_each_lines(temp,key)
key= input('输入关键字')
decide = input('是否显示打印关键的具体位置')
current_path(key)
运行结果:
输入关键字小
是否显示打印关键的具体位置yes
在文件D:\测试文件\girl_2.txt中找到关键字【小】
关键字【小】在行第位出现
在文件D:\测试文件\girl_2.txt中找到关键字【小】
关键字【小】在行第位出现
在文件D:\测试文件\girl_2.txt中找到关键字【小】
关键字【小】在行第位出现
会重复打印文件路径,打印具体行数位置不准确
页:
[1]