Hirdetés
- Honor Magic6 Pro - kör közepén számok
- iPhone topik
- A kamera nem lesz karcsú a Honor Magic8 Pro Air esetében
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- MIUI / HyperOS topik
- Megtartotta Európában a 7500 mAh-t az Oppo
- Google Pixel 9 Pro XL - hét szűk esztendő
- Tokgyártó leplezi le újból a Galaxy S26 Ultra formáját
- One mobilszolgáltatások
- Samsung Galaxy A54 - türelemjáték
Új hozzászólás Aktív témák
-
F1DO
senior tag
válasz
cousin333
#3252
üzenetére
No, az éjjel tovább írtam egy lehetséges megoldást, az elmélete az, hogy
találtam egy függvényt, ami azt csinálja hogy két keresési értékre megmondja hogy melyik sorban vannak azok a szöveges file-ban. A két keresési értéknek (mivel kötött formátumú, ismétlődő szövegrészekről van szó, így meg lehetett adni a kezdő szövegrészt és a záró szövegrészt - ezek lettek a két keresési értékek)
A függvény legyűjtötte ezen sorok számát. A sorok számát aztán beletettem egy további listába, ami egymás után folytatólag tartalmazta a kezdő és záró sorok sorszámát. Aztán ezt egy for ciklussal (mert tudtam hanyadik sorban van az utolsó záró sor sorszáma) és ahhoz használt két számlálóval - a számlálókat léptetve - már range értékként egy további for ciklussal kinyertem a köztes sorok sorszámait - így megkaptam a 'lényegi információt' tartalmazó sorok sorszámát. Egy ilyen 'range' után betettem egy ellenőrző szöveges sort, ami alapján látom hogy helyesen működik-e a script (egyszerűen 'következő tétel' kiírás jelenik meg az adott for ciklus lefutása után) - ez alapján eddig megvagyok.Most jön az, hogy au egy tételhez tartozó sorokat legyűjtő for ciklus végére teszek egy file kiíratást ami soronként hozzáadja, 'másolja' a legyűjtött sorok sorszámában lévő szöveget, majd lezárja és nyitja a következő file-t, abba is írja a legyűjtött következő sorokat és így tovább. Még az kellene, hogy a megnyitott fileok amikbe a legyűjtött sorok másolódnak olyan filenéven legyen aminek adata szintén a forrás textfile-ban van.
Most keresem azt a megoldást amivel a kulcsszó utáni adott karakterhosszúságban kiveszi és egy változóba teszi azt az infót ami aztán a file neve is lesz.A talált két keresőértékes függvény:
def search_multiple_strings_in_file(file_name, list_of_strings):
"""Get line from the file along with line numbers, which contains any string from the list"""
line_number = 0
list_of_results = []
# Open the file in read only mode
with open(file_name, 'r') as read_obj:
# Read all lines in the file one by one
for line in read_obj:
line_number += 1
# For each line, check if line contains any string from the list of strings
for string_to_search in list_of_strings:
if string_to_search in line:
# If any string is found in line, then append that line along with line number in list
list_of_results.append((string_to_search, line_number, line.rstrip()))
# Return list of tuples containing matched string, line numbers and lines where string is found
return list_of_resultsés a lényegi sorok sorszámát tartalmazó lista feltöltése:
kezdet = 0
vege = 1while vege < max(sorszamlista):
print('text kezdete: ',sorszamlista[kezdet])
print('text vége: ',sorszamlista[vege])sorkoz = range(sorszamlista[kezdet]-1, sorszamlista[vege]+1)
for n in sorkoz :
print(text[n].rstrip()) # text = fajl.readlines()
print('Következő tétel ##########################')
kezdet+=2
vege+=2
Új hozzászólás Aktív témák
- Windows 11
- Honor Magic6 Pro - kör közepén számok
- czundermák: Shikoku Henro #1 Költségek
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- sziku69: Szólánc.
- Szünetmentes tápegységek (UPS)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- E-roller topik
- Álláskeresés, interjú, önéletrajz
- További aktív témák...
- Bomba ár! HP EliteBook 840 G6 - i7-8GEN I 16GB I 512GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Bomba ár! Lenovo X13 G2i - i5-1135G7 I 16GB I 256SSD I 13,3" WUXGA Touch I W11 I Cam I Gari!
- Bomba ár! Lenovo X1 Carbon G7: i5-8265U I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W11 I Gari!
- Bomba ár! HP EliteBook 845 G7 - Ryzen 5 4650U I 16GB I 512SSD I 14" FHD I Cam I W11 I Gari
- Bomba ár! Dell Latitude 5510 - i7-10G I 16GB I 512SSD I HDMI I 15,6" FHD I Cam I W11 I Gari!
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4149
- CSX 2x2GB (4GB) DDR2 800 MHz kit
- Bomba ár! HP ProBook 430 G6 - i5-8265U I 8GB I 128SSD I HDMI I 13,3" FHD I Cam I W10 I Gari!
- HIBÁTLAN iPhone 15 Plus 256GB Green-1 ÉV GARANCIA - Kártyafüggetlen, MS4264, 92% Akksi
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


