鱼C论坛

 找回密码
 立即注册
查看: 1049|回复: 1

[技术交流] 自己写的第30讲查找txt文件关键字的作业代码

[复制链接]
发表于 2019-5-3 17:08:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
和小甲鱼的有所不同,历经数天修改才完成,之后看了小甲鱼的和我写的完全不同,不知如何比较优劣。

  1. import os
  2. # 遍历所有txt文件
  3. # 在所有txt文件中查找关键字
  4. # 打印所在行数
  5. # 在确定的行中找到关键词或字的第一个字的位置,打印下标(索引值)
  6. keyWord = input('请输入你要查找的关键字(词):')
  7. choice = input('是否需要打印关键字【%s】的具体位置(YES/NO):' % keyWord)

  8. for root, dirs, files in os.walk(os.getcwd()):
  9.         for each in files:        # 遍历所有文件
  10.                 if '.txt' in each:        # 找到txt文件
  11.                         txt = open(os.path.join(root, each),  encoding = 'utf-8')        # 所有txt文件的编码必须转换为utf-8
  12.                         line = 0        # 初始化行数
  13.                         ifexit = True        # 为了下面只打印一次查询结果而定义的布尔值
  14.                         for each2 in txt:       
  15.                                 line += 1         # 统计行数
  16.                                 list1 = []        # 记录关键字位置,放在这里归零,以防将txt中找到的所有关键字的位置统计在一起
  17.                                 if keyWord in each2:
  18.                                         if ifexit:        # 此时ifexit为True,打印一次结果,之后ifexit为False,不再打印
  19.                                                 print('文件【%s】中包含关键字【%s】' % (os.path.join(root, each), keyWord))
  20.                                                 ifexit = False
  21.                                         if choice == 'no':
  22.                                                 continue
  23.                                         elif choice == 'yes':
  24.                                                 pass
  25.                                         for i in range(len(each2)):
  26.                                                 if keyWord in each2[i:i + len(keyWord)]:
  27.                                                         list1.append(i + 1)
  28.                                         print('关键字出现在第%d行,第%s个位置' % (line, list1))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-5-3 17:14:40 | 显示全部楼层
殊途同归  看谁代码好 不外乎 比较运行速度  比较是否具有bug  其次代码可读性
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 03:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表