You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
3.0 KiB

import os
import datetime
import time
def oddelovac():
print("\n"+"="*50)
def vytvor_soubor(nazev, obsah, novy_radek=True):
"""
Vytvoří nový soubor a zapíše do něj
Args:
nazev (str): Název souboru
obsah (str): Text k zapsání
novy_radek (bool): True na přídání "ukončení řádku" na konec zprávy
Returns:
bool: True pokud je soubor úspěšně zapsán, False pokud ne
"""
try:
with open(nazev, mode="w", encoding="utf-8") as soubor:
soubor.write(obsah)
if novy_radek:
soubor.write("\n")
print(f"Soubor {nazev} byl vytvořen")
return True
except Exception as e:
print(f"chyba při vytváření: {e}")
return False
def precti_soubor(nazev):
"""
Přečte obsah souboru a vrátí ho jako string
Args:
nazev (str): název souboru
Returns:
str: Obsah souboru, nebo None pokud soubor neexistuje
"""
try:
with open(nazev,mode="r",encoding="utf-8") as soubor:
obsah = soubor.read()
print(f"Soubor {nazev} byl úspěšně přečten")
return obsah
except FileNotFoundError:
print(f"Soubor {nazev} neexistuje")
return None
except Exception as e:
print(f" chyba při čtení souboru: {e}")
return None
def pridej_do_souboru(nazev, text, novy_radek=True):
"""
Přída textž na konec existujícího souboru.
Args:
nazev (str): Název soubvoru
text (str): Text k přídání
novy_radek (bool): True na přídání "ukončení řádku" na konec zprávy
Returns:
bool: True pokud se podařilo, False pokud ne
"""
try:
with open(nazev, mode="a",encoding="utf-8") as soubor:
soubor.write(text)
if novy_radek:
soubor.write("\n")
print(f"Text byl přidán do souboru {nazev}")
return True
except Exception as e:
print(f"chyba při přídávání textu: {e}")
return False
def existuje_soubor(nazev):
"""
Zkontroluje jestli soubor existuje
Args:
nazev (str): název souboru
Returns:
bool: True pokud existuje
"""
return os.path.exists(nazev)
def vypis_info_o_souboru(nazev):
"""
Vypíše informace o souboru
Args: nazev (str):název souboru
"""
print(f"infomrace o {nazev}")
if not existuje_soubor(nazev):
print("Soubor neexistuje, nelze vypsat info")
return
print("Soubor existuje ☺")
velikost = os.path.getsize(nazev)
print(f"Velikost: {velikost} bajtů")
cas_upravy = os.path.getmtime(nazev)
datum = datetime.datetime.fromtimestamp(cas_upravy)
print(f"Poslední úprava: {datum.strftime('%d.%m.%Y %H:%M:%S')}")
if __name__ == "__main__":
vytvor_soubor("textak.txt","TOTO JE TEST")
obsah_souboru = precti_soubor("textak.txt")
print(f"obsah souboru: {obsah_souboru}")
vypis_info_o_souboru("textak.txt")