Pythonistas大家好,
我有一个脚本,该脚本在单个目录中包含的所有文件中搜索“字符串”关键字。如果在任何文件中找到'string'关键字,它将在IDLE命令屏幕上显示该文件的名称。看来效果很好。程序使用用户提示收集输入信息。通常,我在大量文本文件中搜索单个单词。
但是-现在我想以两种方式在此基础上 1)我想将代码修改为它还可以搜索指定目录内子文件夹中包含的所有文件。 2)我还要指定搜索仅限于某种类型的文件扩展名,例如.txt。
任何人都可以对这两项增强功能中的任何一项提供一些指导吗?
我正在使用Python 3,对Python还是很陌生(2周前刚开始使用它,目的是通过我的老板文件夹结构自动进行一些无聊的搜索)
非常感谢任何可以提供帮助的人。 干杯, 疯狂
# This script will search through all files within a single directory for a single key word
# If the script finds the word within any of the files it will print the name of this file to the command line
import os
print ('When answering questions, do not add a space and use forward slash separators on file paths')
print ('')
# Variables to be defined by user input
user_input = input('Paste the directory you want to search?')
directory = os.listdir(user_input)
searchstring = input('What word are you trying to find within these files?')
for fname in directory:
if os.path.isfile(user_input + os.sep + fname):
# Full path
f = open(user_input + os.sep + fname, 'r')
if searchstring in f.read():
print('found string in file "%s"' % fname)
f.close()enter code here