Poprawki od Gemini, parsowanie pliku nastawy.txt

Dodany konwerter w pythonie do konwersji nastaw z docx na txt
This commit is contained in:
2026-02-19 08:32:33 +01:00
parent a8cd93ab02
commit 6c948b44fa
18 changed files with 544 additions and 313 deletions

68
docx2txt.py Normal file
View File

@@ -0,0 +1,68 @@
import docx
import sys
import os
def convert_docx_to_txt(input_path):
# Sprawdzenie czy plik istnieje
if not os.path.exists(input_path):
print(f"Błąd: Plik '{input_path}' nie istnieje.")
return
# Sprawdzenie rozszerzenia pliku
if not input_path.lower().endswith('.docx'):
print(f"Info: Plik '{input_path}' nie jest plikiem .docx, pomijanie.")
return
try:
# Wczytanie dokumentu
doc = docx.Document(input_path)
full_text = []
# Wyciąganie tekstu z każdego akapitu
for para in doc.paragraphs:
full_text.append(para.text)
# Łączenie tekstu znakami nowej linii
result = "\n".join(full_text)
# Tworzenie nazwy pliku wyjściowego (zmiana rozszerzenia na .txt)
output_path = os.path.splitext(input_path)[0] + ".txt"
# Zapis do pliku tekstowego z kodowaniem UTF-8
with open(output_path, "w", encoding="utf-8") as f:
f.write(result)
print(f"Sukces! Tekst został zapisany w: {output_path}")
except Exception as e:
print(f"Wystąpił błąd podczas konwersji pliku {input_path}: {e}")
def process_directory(directory_path):
for root, dirs, files in os.walk(directory_path):
for file in files:
if file.lower().endswith(('.docx', '.doc')):
file_path = os.path.join(root, file)
if file.lower().endswith('.doc'):
print(f"Info: Konwersja plików .doc nie jest wspierana w tej wersji. Plik: {file_path}")
else:
convert_docx_to_txt(file_path)
if __name__ == "__main__":
# Obsługa argumentu z linii poleceń
if len(sys.argv) > 1:
path_arg = sys.argv[1]
if os.path.isdir(path_arg):
process_directory(path_arg)
elif os.path.isfile(path_arg):
convert_docx_to_txt(path_arg)
else:
print(f"Błąd: Podana ścieżka '{path_arg}' nie jest ani plikiem, ani katalogiem.")
else:
path_input = input("Podaj nazwę pliku .docx lub ścieżkę do katalogu: ")
if os.path.isdir(path_input):
process_directory(path_input)
elif os.path.isfile(path_input):
convert_docx_to_txt(path_input)
else:
print(f"Błąd: Podana ścieżka '{path_input}' nie jest ani plikiem, ani katalogiem.")