soubor = open("soubor.txt", mode="r", encoding='utf-8')
novy_soubor = open("soubor2.txt", mode="w", encoding='utf-8')
for text in soubor:
    novy_soubor.write(text) 
print ("Soubor zkopírován.")
soubor.close()
novy_soubor.close()
with open("soubor.txt", mode="r", encoding='utf-8') as soubor:
    with open("soubor2.txt", mode="w", encoding='utf-8') as novy_soubor:
        novy_soubor.write(soubor.read()) 
print ("Soubor zkopírován.")
Proč se tolik opakovat, když můžeme počet pokusů použít přímo, převést jej na řetězec a jen připojením přípony z něj udělat název souboru?
def vykresliPanacka(pocet_pokusu):
    "Funkce na základě neúspěšných pokusů vypisuje obrázky, dokud hra neskončí."
    if pocet_pokusu == 1:
        vstup=open("1.txt", encoding='utf-8')
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 2:
        vstup=open("2.txt", encoding='utf-8')
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 3:
        vstup=open("3.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 4:
        vstup=open("4.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 5:
        vstup=open("5.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 6:
        vstup=open("6.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 7:
        vstup=open("7.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 8:
        vstup=open("8.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
    elif pocet_pokusu == 9:
        vstup=open("9.txt")
        obrazek = vstup.read()
        print(obrazek)
    else:
        vstup=open("10.txt")
        obrazek = vstup.read()
        print(obrazek)
        vstup.close()
        print ("Konec hry, prohrál jsi!")
def vykresliPanacka(pocet_pokusu):
    "Funkce na základě neúspěšných pokusů vypisuje obrázky, dokud hra neskončí."
    with open(str(pocet_pokusu) + ".txt", encoding='utf-8') as soubor:
        print(soubor.read())
def vyplnZnak(hadanka, znak, tajneSlovo):
    for index in range(len(tajneSlovo)):
        if znak == tajneSlovo[index]:
            hadanka = hadanka[:index] + znak + hadanka[index + 1:]
    return hadanka
.txt