Tarkoituksena on luoda muistikirja-ohjelma pythonilla, jossa muistikirjaa voi lukea, lisätä merkintöjä, tyhjentää tai vaihtaa tiedoston toiseen. Ohjelman on tarkoitus aluksi tarkistaa onko haluttu tiedosto olemassa, ja jos ei luodaan tiedosto. Ohjelman tulisi myös kertoa minkä nimistä muistiota käytetään milloinkin.
Tuloste kohdassa: "Käytetään muistiota:" (jossa siis pitäisi olla tiedoston nimi) tuloste näyttää tältä: " Käytetään muistiota: <_io.TextIOWrapper name='muistio.txt' mode='r' encoding='UTF-8'> "
Missä vika, ja miten korjata?
Koodi kokonaisuudessaan näyttää tältä:
Tuloste kohdassa: "Käytetään muistiota:" (jossa siis pitäisi olla tiedoston nimi) tuloste näyttää tältä: " Käytetään muistiota: <_io.TextIOWrapper name='muistio.txt' mode='r' encoding='UTF-8'> "
Missä vika, ja miten korjata?
Koodi kokonaisuudessaan näyttää tältä:
Python:
import time
while True:
try:
tiedosto = open("muistio.txt","r")
except IOError:
print("Oletusmuistioa ei löydy, luodaan tiedosto.")
tiedosto = open("muistio.txt","w")
tiedosto.write("")
tiedosto.close
else:
print("Käytetään muistiota:",tiedosto)
print("(1) Lue muistikirjaa\n(2) Lisää merkintä\n(3) Tyhjennä muistikirja\n(4) Vaihda muistiota(5) Lopeta")
valinta = int(input("Mitä haluat tehdä?: "))
if valinta == 1 :
tiedosto = open("muistio.txt","r")
kirja = tiedosto.readline()
print(kirja)
tiedosto.close()
elif valinta == 2 :
tiedosto = open("muistio.txt","a")
lisa = input("kirjoita uusi merkintä: ")
aika = time.strftime("%X %x")
tiedosto.write(lisa+":::"+aika+"\n")
tiedosto.close()
elif valinta == 3 :
tiedosto = open("muistio.txt","w")
tiedosto.close()
print("Muistio tyhjennetty.")
elif valinta == 4 :
tiedosto = input("Anna tiedoston nimi: ")
try:
tiedosto = open(tiedosto,"r")
tiedosto.close
except IOError:
print("Tiedostoa ei löydy, luodaan tiedosto.")
elif valinta == 5 :
print("Lopetetaan.")
break
else :
print("Tuntematon valinta.")