Ovaj Python program uzima tekstualni fajl sa komandne linije, čita njegov sadržaj, i generiše HTML fajl u kojem je sadržaj fajla umetnut između <pre> i </pre> tagova. Izlazni HTML fajl ima isto ime kao ulazni fajl, ali sa .html ekstenzijom. Program automatski kreira HTML strukturu koja uključuje osnovno zaglavlje, kao što su meta podaci i stilovi, dok je sadržaj iz fajla prikazan u preformatiranom obliku unutar <pre> taga, očuvavajući originalne razmake i linije.
Programski kod za txt2html.py
#txt2html.py
import sys
import os
# Funkcija koja čita fajl i vraća sadržaj
def ucitaj_fajl(fajl_pozicija):
try:
with open(fajl_pozicija, 'r', encoding='utf-8') as f:
return f.read()
except FileNotFoundError:
print(f"Fajl {fajl_pozicija} nije pronađen.")
sys.exit(1)
# Funkcija koja generiše HTML sa umetnutim tekstom
def generisi_html(sadrzaj_iz_fajla, izlazni_fajl):
html_sablon = f"""
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Naslov stranice</title>
<meta name="description" content="Kratak opis stranice">
<meta name="author" content="Tvoje ime">
<link rel="stylesheet" href="stil.css"> <!-- ako imaš eksterni CSS fajl -->
</head>
<body>
<pre>
{sadrzaj_iz_fajla}
</pre>
</body>
</html>
"""
with open(izlazni_fajl, 'w', encoding='utf-8') as f:
f.write(html_sablon)
print(f"HTML fajl je uspešno generisan: {izlazni_fajl}")
# Glavni deo programa
if __name__ == "__main__":
if len(sys.argv) != 2:
print("Upotreba: python3 program.py fajl.txt")
sys.exit(1)
ulazni_fajl = sys.argv[1]
# Generiši izlazni fajl sa istim imenom, ali sa ekstenzijom .html
ime_bez_ekstenzije, _ = os.path.splitext(ulazni_fajl)
izlazni_fajl = ime_bez_ekstenzije + ".html"
# Učitaj sadržaj iz fajla
sadrzaj_iz_fajla = ucitaj_fajl(ulazni_fajl)
# Generiši HTML sa tim sadržajem
generisi_html(sadrzaj_iz_fajla, izlazni_fajl)
Upotreba:
python3 txt2html.py neki.txt
