import re
vstup = "input.txt"
nazev_vystupu = "index.txt"
hledane_slovo = "Kreatrix"
def make_index(vstup):
soubor = file(vstup, "r")
radek = 1
lst = {}
for n_radek in soubor:
radek += 1
prazdny = re.split('[\s.,!;?"]', n_radek)
for slovo in prazdny:
#if len(slovo) > 0:
if slovo in lst:
if str(radek) not in lst[slovo]:
lst[slovo] = lst[slovo] + " " + str(radek)
else:
lst[slovo] = str(radek)
keys = lst.keys()
keys.sort()
soubor = file(nazev_vystupu, "a")
for pismeno in keys:
soubor.write(pismeno + " " + lst[pismeno] +" \n")
soubor.close()
def search_by_index(nazev_vystupu,hledane_slovo):
soubor = file(nazev_vystupu, "r")
nalezeno = 0
for n_radek in soubor:
seznam = n_radek.split()
if seznam[0] == hledane_slovo:
seznam.remove(hledane_slovo)
nalezeno = 1
break
if nalezeno == 1:
print seznam
else:
print "[]"
vstup = "input.txt"
nazev_vystupu = "index.txt"
make_index(vstup)
search_by_index(nazev_vystupu, hledane_slovo)
zde mam zdrovojovy kod, cte z textoveho souboru input.txt ktery musi byt vytvoren. V souboru index.txt my vznikne vypis slov ktere tam sou a na kterem radku jsou, jenze v prvnim radku mi to vypisuje kolik tam je mezer a toho se poterbuji zbavit nevite nekdo co stim?