pocitani_znaku
unknown
python
a year ago
1.7 kB
6
Indexable
import os from docx import Document import re def pocet_znaku_v_dokumentu(docx_file): try: doc = Document(docx_file) except Exception as e: print(f"Chyba při otevírání souboru {docx_file}: {e}") return 0 pocet_znaku = sum(len(para.text) for para in doc.paragraphs) for table in doc.tables: for row in table.rows: for cell in row.cells: pocet_znaku += len(cell.text) return pocet_znaku def seřadit_podle_čísla(s): # Vyhledá číslice na začátku názvu souboru a vrátí je jako klíč pro řazení match = re.match(r"(\d+)", s) if match: return int(match.group(1)) return 0 def projit_adresar_a_spoctit_znaky(adresar): celkovy_pocet_znaku = 0 vysledky = [] for root, dirs, files in os.walk(adresar): for file in files: if file.endswith(".docx"): plna_cesta = os.path.join(root, file) pocet = pocet_znaku_v_dokumentu(plna_cesta) vysledky.append(f"{file}: {pocet}") celkovy_pocet_znaku += pocet # Seřazení výsledků podle čísla na začátku názvu souboru vysledky = sorted(vysledky, key=lambda x: seřadit_podle_čísla(x.split(":")[0])) with open("vysledky_poctu_znaku.txt", "w", encoding="utf-8") as vysledky_soubor: for radek in vysledky: vysledky_soubor.write(radek + "\n") vysledky_soubor.write(f"Celkový počet znaků: {celkovy_pocet_znaku}") print("Výsledky byly seřazeny a zapsány do souboru 'vysledky_poctu_znaku.txt'.") # Nastavte cestu k adresáři, který chcete prozkoumat adresar = 'cesta_k_adresari' projit_adresar_a_spoctit_znaky(adresar)
Editor is loading...
Leave a Comment