Ниже приведен код, который я использую для поиска по файлам для определенной строки. Когда я открываю файл результатов, который он производит, мои результаты есть.Почему мой код создает повторяющиеся данные?
Но - они дублируются довольно много раз, и для жизни меня я не могу понять, почему.
import os
global file_list
filename = raw_input("Enter a portion of the file name(s) you would like to search in: ")
results = raw_input("What file would you like results saved to: ")
file_list=[]
FO = open(results, 'w')
for dirname, subdirlist, files in os.walk("."):
for filenames in files:
file = os.path.join(dirname, filenames)
file_list.append(file)
if str(file).find(filename) >= 0:
for line in file:
FI = open(file, 'r')
for line in FI:
if len(line.split(':')) > 30:
line_list=line.split(':')
if line_list[29] == '5':
FO.write(line)
print("Files save to " + ("\"") + results + ("\""))
Возможно, лучше использовать регулярное выражение. –
'для строки в файле:'? 'file' по-прежнему является именем файла здесь, вы никогда не открывали этот файл. –
Извините, просто отредактировал его. Теперь его мой фактический код. – silentkow