马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
寻找当前目录下文本文件中关键字的位置from pathlib import Path
kw = input("请将该脚本放于待查找的文件夹内,请输入关键字:")
m = list(Path.cwd().glob("**/*.txt")) #m -> 所有文件
print(m)
g = [] #->文件对应位置
n = {}
for each in m:
each.open('r')
x = each.read()
if kw not in x:
each.close()
continue
else:
g.append(each)
for i in range(x.count('\n')): #每一行寻找
j = each.readline()
if kw in j:
n[i+1] = j.find(kw) #->行数对应所在位置
else:
continue
g.append(n)
each.close()
ans = input(f"请问是否需要打印关键字【{kw}】在文件中的具体位置(YES/NO):")
for each in range(0,len(g),2):
print(f"在文件【{g[each]}】中找到关键字【{kw}】")
if ans == 'YES':
print(f"关键字出现在第{list(g.keys())[each+1]}行,第{g[each+1]}个位置")
报错说each是路径而不是文件,请问这个怎么改Traceback (most recent call last):
File "C:\Users\Zhou Yiyun\Desktop\测试\^第030讲-搜索关键字.py", line 11, in <module>
x = each.read()
AttributeError: 'WindowsPath' object has no attribute 'read'
求助求助
第 10 行代码 , each.open('r') 改成 each = each.open('r'),另外不建议用 int 类型作为字典的键
你代码的 30 行,g 是列表 没有 keys() 方法,你应该是想对 n 进行调用 keys() 方法吧?
|