Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # luento 29.11.2022, tiedostonkäsittely Pythonissa
- print("Tervetuloa!")
- # UUSI TEKSTITIEODSTO - weekdays.txt
- Maanantai
- Tiistai
- Keskiviikko
- Torstai
- Perjantai
- Lauantai
- Sunnuntai
- # UUSI TIEDOSTO
- # aukaistaan yhteys tiedostoon
- file_handle = open("weekdays.txt", "r")
- # luetaan koko tiedoston sisältö muuttujaan
- content = file_handle.read()
- # tulostetaan sisältö
- print(content)
- # muistetaan myös sulkea yhteys tiedostoon!
- file_handle.close()
- # UUSI TIEDOSTO
- # aukaistaan yhteys tiedostoon
- file_handle = open("weekdays.txt", "r")
- # laskurimuuttuja while-silmukkaa varten, jotta
- # saadaan rivinumerot mukaan
- counter = 1
- # haetaan silmukassa niin kauan rivejä kuin tiedostossa niitä on
- while True:
- line = file_handle.readline()
- #print(line)
- # tulostetaan rivinumero + tiedoston tämänhetkinen rivi
- print(f"{counter}. {line}")
- counter = counter + 1
- # jos rivit loppuivat, break
- if not line:
- break
- # muistetaan myös sulkea yhteys tiedostoon!
- file_handle.close()
- # UUSI TIEDOSTO
- # aukaistaan yhteys tiedostoon
- file_handle = open("weekdays.txt", "r")
- # luetaan tiedoston sisältö ja splitataan rivinvaihdolla listaksi
- content = file_handle.read()
- lines = content.split("\n")
- # koska lines on ihan tavallinen lista:
- for line in lines:
- print(line)
- print()
- # myös numeroitu lista on helpompi tehdä!
- amount = len(lines)
- for index in range(amount):
- line = lines[index]
- print(f"{index + 1}. {line}")
- # muistetaan myös sulkea yhteys tiedostoon!
- file_handle.close()
- # UUSI TIEDOSTO
- # avataan tiedosto kirjoittamista varten
- # asetetaan encoding=utf-8, jolloin ääkköset toimii oikein
- file_handle = open("muistio.txt", "w", encoding="utf-8")
- # pyydetään käyttäjältä tekstiä ja tallennetaan tiedostoon
- text = input("Anna jotain tekstiä:\n")
- file_handle.write(text)
- # muistetaan myös sulkea yhteys tiedostoon!
- file_handle.close()
- # UUSI TIEDOSTO
- # avataan tiedosto kirjoittamista varten (a = append)
- # asetetaan encoding=utf-8, jolloin ääkköset toimii oikein
- file_handle = open("muistio.txt", "a", encoding="utf-8")
- # pyydetään käyttäjältä tekstiä ja tallennetaan tiedostoon
- text = input("Anna jotain tekstiä:\n")
- # lisätään rivinvaihto jotta kaikki uusi teksti
- # tulee edellisen alle!
- file_handle.write(text + "\n\n")
- # muistetaan myös sulkea yhteys tiedostoon!
- file_handle.close()
- # UUSI JSON-TIEDOSTO: app_data.json
- {
- "name":"Rovaniemi",
- "population":62933,
- "county":"Lappi"
- }
- # UUSI TIEDOSTO
- import json
- #import var_dump as vd
- file_handle = open("app_data.json", "r")
- content = file_handle.read()
- file_handle.close()
- # ennen kuin JSON dataa voidaan käyttää
- # => json.loads()
- city = json.loads(content)
- print(city['name'])
- print(city['population'])
- # muista: JSON on lopulta vain tekstiä, vaikka
- # se näyttää Pythonin dictionarylta tai listalta!
- # vd.var_dump(content)
- # print()
- # vd.var_dump(city)
- # UUSI TIEDOSTO
- import json
- # Python dictionary, puhelindataa
- phone = {
- "name": "Nokia 3310",
- "release_year": 2000,
- "battery": "1000mAh",
- "camera": False,
- "weight": 133
- }
- # Python data => JSON-formaattiin (eli tekstiksi)
- content = json.dumps(phone)
- # tallennetaan JSON (eli teksti) tiedostoon!
- file_handle = open("phone.json", "w")
- file_handle.write(content)
- file_handle.close()
- print("Kiitos puhelimen tallentamisesta!")
- # UUSI JSON-TIEDOSTO - cities.json
- [
- {
- "name":"Rovaniemi",
- "population":62933,
- "county":"Lappi"
- },
- {
- "name":"Oulu",
- "population":199526,
- "county":"Pohjois-Pohjanmaa"
- },
- {
- "name":"Helsinki",
- "population":631695,
- "county":"Uusimaa"
- }
- ]
- # UUSI TIEDOSTO
- import json
- # luetaan cities.jsonin sisältö muuttujaan, muutetaan Python-dataksi
- file_handle = open("cities.json", "r")
- content = file_handle.read()
- file_handle.close()
- # cities on lista joka koostuu dictionaryistä
- cities = json.loads(content)
- # tulostetaan jokaisen kaupungin nimi + maakunta
- for city in cities:
- print(city['name'])
- print(city['county'])
- print()
- # UUSI TIEDOSTO
- import json
- # luetaan cities.jsonin sisältö muuttujaan, muutetaan Python-dataksi
- file_handle = open("cities.json", "r")
- content = file_handle.read()
- file_handle.close()
- # cities on lista joka koostuu dictionaryistä
- cities = json.loads(content)
- # tulostetaan jokaisen kaupungin nimi + maakunta
- for city in cities:
- print(city['name'])
- print(city['county'])
- print(city['population'])
- print()
- # VAIHE 2: kysytään käyttäjältä uuden kaupungin tiedot
- new_city_name = input("Anna uuden kaupungin nimi:\n")
- new_city_county = input("Anna uuden kaupungin maakunta:\n")
- new_city_population = input("Anna uuden kaupungin asukasluku:\n")
- new_city_population = int(new_city_population)
- new_city = {
- "name": new_city_name,
- "population": new_city_population,
- "county": new_city_county
- }
- # koska cities on lista, voidaan uusi kaupunki lisätä
- # jonon perälle:
- cities.append(new_city)
- # kaikki muutokset on nyt tallennettu cities-listaan
- # joten voimme tallentaa tämän version
- # vanhan tiedoston päälle
- # laita toiseksi parametriksi indent=4, jos haluat että
- # JSON tallentuu siistimmässä muodossa tiedostoon!
- json_data = json.dumps(cities)
- # avataan nyt kirjoitusmoodissa tiedosto
- # jotta voimme korvata vanhan datan uudella
- file_handle = open("cities.json", "w")
- file_handle.write(json_data)
- file_handle.close()
- print("Uusi kaupunki tallennettu onnistuneesti.")
Advertisement
Add Comment
Please, Sign In to add comment