- Tämähän oli sinulta toteutettu ehkäpä hieman liian tasokkaaksi vielä minulle. Minulle olisi varmaan riittänyt sellainen 'perussetti', joka vain hakee, lisää ja poistaa.
- En kyllä ymmärrä, mikä tässä nyt voi olla... jos se sinulla hakee oikein samasta Kirjasto.dat-tiedostosta. Ja hakeehan se minullakin oikein sen luettelon, siinä lukee Peppi Pitkätossukin aivan oikein, mutta sitten, kun aletaan tekemään hakuja, niin sitten ei enää onnistu.
- Hmm..., se ei onnistu haussaan ilman ääkkösiäkään.
- Tosi nätisti se tosiaan antaa päävalikon 5-kohdan: tulosta kirjaluettelo, mutta kun teen esim. Hae kirjan nimellä -haun ja syötän vaikka Peppi Pitkätossu, niin tuossa alla tulos.
Peppi Pitkätossu
Traceback (most recent call last):
File "MainMenu.py", line 61, in <module>
MainMenu()
File "MainMenu.py", line 53, in MainMenu
if valinta == "1": os.system('cls'); HaeMenu()
File "MainMenu.py", line 30, in HaeMenu
if valinta == "1": os.system('cls'); HaeKirjanNimella(Lista)
File "C:\Users\Katjaana\kirjaluettelo-main\HaetaanKirjaLuettelostaFile.py", line 20, in HaeKirjanNimella
ResultSize = os.path.getsize("result")
File "C:\Users\Katja\AppData\Local\Programs\Python\Python38-32\lib\genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError: [WinError 2] Määritettyä tiedostoa ei löydy: 'result' - Muut mielestäni toimivat ok, tosin en ihan tarkkaan kaikkea ole vielä testannut, mutta tuo haku ei löydä oikeita tuloksia. Voisiko se vika olla vain siinä, että olen nyt korjannut jotain väärin?
Jos tuo Geany on hyvä, niin kokeilen sitä jatkossa! - En nyt kyllä ymmärrä... ei se hae komentokehoitteessa edelleenkään oikein. Korjasinkohan nyt väärin, kun sitä ristiinmennyttä korjasin, vai jäikö sitten vain joku pieni kohta korjaamatta, vaikka yritin olla tarkkana...
- Ok..., mitäköhän sitten eilen katsoin. Kokeilen uudelleen ja sitten yritän korjata ne ristiin menneet informaatiot.
- Koitan osata korjata ensi viikolla..., mutta saatko sinä haettua kirjoja niiden nimellä, kirjailijan nimellä jne.? Eli se valikon kohta 1.
- Jahas... siellä on vielä korjattavaa hauissa... ei löydä kirjan nimellä ja kun haluaa hakea vuosiluvulla, niin se kysyykin, että anna kirjailijan nimi ja päin vastoin.
- Mmm... V.S.C.:ssä ei sitten jostain syystä jälleen(kään) löydä Kirjasto.dat:a... mutta testailen kokonaisuutta muuten tuolla komentokehotteessa!
- Aivan upeaa!
Herjaa enää clear:sta, eli pitää vielä perata joku niistä cls:ksi. Ei siis enää sitä ongelmaa, että ei löydä Kirjasto.dat:a. Valitsin tosin vasta tuosta valikosta tuon kohdan 5, mutta alla tulos. Nyt pitääkin sitten jatkaa ihailemalla ja ihmettelemällä näitä yksittäisiä koodikokonaisuuksia!
K I R J A L U E T T E L O N P Ä Ä V A L I K K O
1. Hae kirjan/kirjailijan nimellä tai vuosiluvulla.
2. Muokkaa kirjaluettelon merkintää.
3. Poista kirjaluettelon merkintä.
4. Lisää kirjaluetteloon merkintä.
5. Tulosta kirjaluettelo.
6. Tallenna kirjaluettelo.
7. Lopetus
Anna valintasi [1-7] : 5
'clear' is not recognized as an internal or external command,
operable program or batch file.
KIRJA KIRJOITTAJA VUOSI
Peppi Pitkätossu Astrid Lindgren 1945
Vaahteramäen Eemeli Astrid Lindgren 1963
Pikku naisia Louisa M. Alcott 1868
Annan nuoruusvuodet L. M. Montgomery 1908
Joulupukin joululoma Mauri Kunnas 2020
Hurjan hauska unikirja Mauri Kunnas 2019
Pipsan joulukalenteri Satu Karhu 2019
Pieni luontokirja Mauri Kunnas 2018
Mikä tähän kuuluu? 3-4v Reetta Wirtanen 2019 - Ok... tätä pitää kokeilla viikonloppuna. Tosiaan sinne C:n juureen vein kopion kansiosta (jonka sisällä tiedostot), kun en tuntunut sillä CD-komennolla pääsevän eilen vielä sinne, minne halusin. Nyt vain poistan kopion ja jatkan harjoitusta sieltä alkuperäisestä paikkaa.
- Eikö työkansio ole tässä tapauksessa kirjaluettelo-main? Löysihän komentotulkki hyvin MainMenun:kin, kuten kirjoitin 07.01.2021 klo 18:40.
Ja tuonne C:n juureen sen kokonaisuuden siirsin (kokeilumielessä) ja sieltä se sen myös löysi (kaikki tiedostot siis, paitsi ei Kirjasto.dat:a). Mietin vielä, että miksi sen Kirjasto.dat-tiedoston pitää olla *.dat? Millä ohjelmalla se olikaan tehty alunperin, jos muuttaisin sen takaisin sellaiseksi? Muutoinhan tuo kokonaisuus näyttää käyvän ja kukkuvan, mutta sitä 'datia' se ei ymmärrä. - DIR-komennolla löytyy alla olevat tiedostot, eli kyllä se Kirjasto.dat siellä muiden mukana on:
Directory of C:\kirjaluettelo-main
07.01.2021 17.45 <DIR> .
07.01.2021 17.45 <DIR> ..
06.01.2021 16.18 912 ColorFile.py
06.01.2021 16.18 2 318 HaetaanKirjaLuettelostaFile.py
06.01.2021 16.18 741 Kirjasto.dat
06.01.2021 16.18 627 LataaKirjaLuetteloFile.py
06.01.2021 17.05 2 391 MainMenu.py
06.01.2021 16.18 1 595 MuokataanKirjaLuetteloaFile.py
06.01.2021 16.18 1 315 PoistaKohdeKirjaLuettelostaFile.py
06.01.2021 16.18 624 README.md
06.01.2021 16.18 1 145 TallennaKirjaLuetteloFile.py
06.01.2021 16.18 681 TulostaKirjaLuetteloFile.py
06.01.2021 16.18 829 UusiKohdeKirjaLuetteloonFile.py
07.01.2021 17.45 <DIR> __pycache__
11 File(s) 13 178 bytes
3 Dir(s) 899 535 982 592 bytes free - No niin. Tällaisella komennolla pääsin eteenpäin:
C:\>python \kirjaluettelo-main\MainMenu.py
Kopioin siis kirjaluettelo-main-kansion C:n juureen ja olin kyseisessä kansiossa, kun annoin komennon.
No tämän jälkeen tuli kuitenkin jälleen se ikkuna, jossa: Kaivattiin (Kirjasto.dat) tiedostoa, mutta sitä ei löytynyt -viesti.
OK-valinnalla pääsee kyseisestä ikkunasta siellä komentotulkissakin eteenpäin ja saan valikon esiin ja siitäkin pääsen valitsemaan, mutta kun se ei jotenkin vieläkään löydä/hyväksy sitä Kirjasto.dat:ia...
Yritän vielä tänään-huomenna tarjota myös sitä DIR-komentoa. - Avaan sen cmd:llä, kuten tuolla yksi vaihtoehdoista oli. Nyt kun kirjoitan
python3 MainMenu.py:n tilalle
python MainMenu.py saan tulokseksi:
python: can't open file 'MainMenu.py': [Errno 2] No such file or directory
Ja sama tulos vaikka avaan komentotulkin järjestelmänvalvojana. Jatkan ihmettelyä... - Mmmm... komentokehoite 'sanoi' kuten alla, vaikka minulla on työasemallani Python 3.8 (32-bit)... kokeilin tuota kehoitetta ensin niin, että minulla ei ollut Python auki ja sitten vielä niin, että se oli auki; ja sama tulos:
Pythonia ei l÷ytynyt. Asenna se Microsoft Storesta suorittamalla ilman argumentteja tai poista tõmõ pikakuvake kõyt÷stõ kohdasta Asetukset > Hallitse sovellusten suoritustunnuksia.
No kokeilen vielä siellä V.S.C.:ssä kuten neuvoit ja sitten ehkä yritän päivittää Pythonin, vaikka tuntuu oudolta, että sen mahdollinen uudempi versio ei muka ymmärtäisi tätä... - Kaikki haettu vielä uudelleen zip:nä GitHub:sta nyt aamusta. Vaihdettu MainMenussa clear:it cls:ksi, mutta:
Kaivattiin (Kirjasto.dat) tiedostoa, mutta sitä ei löytynyt.
Eli mitä siellä aivan MainMenun yläreunassa pitää olla, että se ne tiedostot löytää..., tai siis ainakin MainMenun! En osaa laittaa sitä polkua ilmeisesti oikein tarjolle, vaikka se tuntuu hassulta, kun se ei pitäisi olla se vaikein kohta tässä... Voiko tiedostopolkuni olla liian pitkä??? Tuo alla oleva kokonaisuus siis.
!/usr/bin/env python3
-*- coding: utf-8 -*-
#
MainMenu.py - Kas löytyi!
- Pitääkö GitHubissa olla kirjautuneena, että sieltä löytyy Load-nappi? En ainakaan tunnu löytävän sitä millään... Pastebinissä ei tarvinnut olla...