Poprawki od Gemini, parsowanie pliku nastawy.txt
Dodany konwerter w pythonie do konwersji nastaw z docx na txt
This commit is contained in:
68
docx2txt.py
Normal file
68
docx2txt.py
Normal 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.")
|
||||
|
||||
Reference in New Issue
Block a user