pocitani_znaku
unknown
python
2 years ago
1.7 kB
7
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