|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import os
key = input('请输入关键字:')
os.chdir('E:\\')
list1 = os.listdir('E:\\')
def search(list1):
for each_file in list1:
tuple1 = os.path.splitext(each_file)
if tuple1[1] == '.txt':
file = open(os.getcwd() + os.sep + each_file)
lines = 0
for each_line in file.readline():
lines += 1
list2 = []
word_location = -1
for each_word in each_line:
list2.append(each_word)
word_location += 1
list3 = []
if word_location >= 3:
if list2[word_location - 2] + list2[word_location - 1] + list2[word_location] == key:
list3.append(word_location - 2)
print('关键字出现在第' , line , '行,第' , list3 , '个位置。')
elif tuple1[1] == '':
os.chdir(os.getcwd() + os.sep + tuple1[0])
list1 = os.listdir(os.getcwd())
search(list1)
search(list1)
请问为什么会出问题
本帖最后由 ba21 于 2019-3-2 11:07 编辑
这个应该有答案,不用现在的类方法就得遍历目录得递归,你先慢慢熟悉下参考答案。
这里给你个 递归 和 os.walk游走目录遍历文件 示例参考,然后自己在尝试动手试试:
方法一:
- import os
- def gci(filepath):
- #遍历filepath下所有文件,包括子目录
- files = os.listdir(filepath)
- for fi in files:
- fi_d = os.path.join(filepath,fi)
- if os.path.isdir(fi_d):
- gci(fi_d)
- else:
- print os.path.join(filepath,fi_d)
- #递归遍历e:\\目录下所有文件
- gci('e:\\')
复制代码
方法二:os.walk
- import os
- for fpathe,dirs,fs in os.walk('e:\\):
- for f in fs:
- print os.path.join(fpathe,f)
-
复制代码
|
|