tuomasvaltanen

Untitled

Dec 3rd, 2020 (edited)
595
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Python, tiedostonkäsittely
  2. print("Tervetuloa!")
  3.  
  4. # luo tätä varten uusi tiedosto weekdays.txt, ja listaa siihen allekkain viikonpäivät! (Maanantai, Tiistai jne)
  5.  
  6. # avataan tiedosto moodilla r, eli luku (read)
  7. file_handle = open("weekdays.txt", "r")
  8.  
  9. # haetaan tiedoston sisältö kahvan kautta muuttujaan
  10. content = file_handle.read()
  11.  
  12. print(content)
  13.  
  14. # readline() -funktio lukee rivi kerrallaan, käytetään usein while-silmukassa
  15. counter = 1
  16.  
  17. while True:
  18.     line = file_handle.readline()
  19.  
  20.     # jos ei mitään tulostettavaa, lopetetaan silmukka
  21.     if not line:
  22.         break
  23.     else:
  24.         # muussa tapauksessa tulostetaan rivinumero ja teksti
  25.         print(f"{counter} {line}")
  26.         counter = counter + 1
  27.  
  28. print("Kaikki rivit tulostettu.")
  29.  
  30. # UUSI TIEDOSTO
  31.  
  32. # avataan tiedosto moodilla r, eli luku (read)
  33. file_handle = open("weekdays.txt", "r")
  34.  
  35. # haetaan tiedoston sisältö kahvan kautta muuttujaan
  36. content = file_handle.read()
  37.  
  38. # split muodostaa tiedoston sisällöstä listan!
  39. lines = content.split("\n")
  40.  
  41. # listaa voi käyttää normaalilla for-silmukalla!
  42. for line in lines:
  43.     print(line)
  44.  
  45. print()
  46.  
  47. # jos halutaan rivinumero, voidaan tehdä:
  48. for x in range(len(lines)):
  49.     line = lines[x]
  50.     print(f"{x + 1} = {line}")
  51.  
  52. # UUSI TIEDOSTO
  53. # KIRJOITTAMINEN ELI TALLENTAMINEN TIEDOSTOON
  54.  
  55. # luodaan yhteys tiedostoon, moodi = w = write, eli kirjoitus
  56. # encoding utf-8 => ääkköset toimii myös oikein
  57. file_handle = open("testing.txt", "w", encoding="utf-8")
  58.  
  59. user_text = input("Mitä tallennetaan tiedostoon? \n")
  60.  
  61. file_handle.write(user_text)
  62.  
  63. # kannattaa muistaa sulkea yhteys tiedostoon
  64. # ettei tule outoja tiedostobugeja
  65. file_handle.close()
  66. print("File saved.")
  67.  
  68. # UUSI TIEDOSTO
  69. # append, kirjoitetaan tietoa tiedoston loppuun
  70. # muista, w eli write jyrää koko tiedoston aina kun tallennetaan!
  71.  
  72. # luodaan yhteys tiedostoon, moodi = a = append,
  73. # eli kirjoitetaan tiedoston perään!
  74. # encoding utf-8 => ääkköset toimii myös oikein
  75. file_handle = open("testing.txt", "a", encoding="utf-8")
  76.  
  77. user_text = input("Mitä tallennetaan tiedostoon? \n")
  78.  
  79. # lisätään rivinvaihto \n, jotta
  80. # tiedot tallentuvat omille riveilleen
  81. # tiedostossa!
  82. user_text = user_text + "\n"
  83.  
  84. file_handle.write(user_text)
  85.  
  86. file_handle.close()
  87.  
  88. print("File saved.")
  89.  
  90. # UUSI TIEDOSTO
  91. # tehdään tätä varten JSON-tiedosto : app_data.json, ks. Moodlen esimerkit
  92.  
  93. import json
  94.  
  95. # haetaan JSON-tiedoston sisältö muuttujaan (tekstiä)
  96. file_handle = open("app_data.json", "r")
  97. content = file_handle.read()
  98.  
  99. # muutetaan raaka JSON-tieto (tekstiä) dictionaryksi
  100. city = json.loads(content)
  101.  
  102. # tallennetaan dictionaryn kentät omiin muuttujiin
  103. name = city['name']
  104. county = city['county']
  105. population = city['population']
  106.  
  107. # tulostetaan tiedot dictionarystä
  108. print(name)
  109. print(county)
  110. print(population)
  111.  
  112. # UUSI TIEDOSTO
  113. import json
  114.  
  115. # dictionary, sisältää puhelimen tiedot
  116. phone = {
  117.     "name": "Nokia 3310",
  118.     "release_year": 2000,
  119.     "battery": "1000mAh",
  120.     "camera": False,
  121.     "weight": 133
  122. }
  123.  
  124. # muutetaan dictionary JSON-muotoon!
  125. content = json.dumps(phone)
  126.  
  127. # avataan tiedosto ja tallennetaan JSON sinne
  128. file_handle = open("phone.json", "w")
  129.  
  130. file_handle.write(content)
  131. file_handle.close()
  132.  
  133. # informoidaan käyttäjää
  134. print("Phone was saved.")
  135.  
  136. # UUSI TIEDOSTO
  137.  
  138. import json
  139.  
  140. # aukaistaan tiedosto ja muutetaan JSON listaksi!
  141. file_handle = open("cities.json", "r")
  142. content = file_handle.read()
  143. file_handle.close()
  144.  
  145. # JSON -> Lista jossa on dictionaryjä
  146. cities = json.loads(content)
  147.  
  148. # käydään kaupungit läpi silmukassa!
  149. for city in cities:
  150.     # yhden kaupungin tiedot:
  151.     name = city['name']
  152.     county = city['county']
  153.     population = city['population']
  154.  
  155.     # tulostetaan yhden kaupungin tiedot:
  156.     print(f"{name}, {county}. Väkiluku: {population}")
  157.  
  158. # UUSI TIEDOSTO
  159.  
  160. import json
  161.  
  162. # ISO ESIMERKKI, JOKA LATAA JSONIN, JOTA MUOKATAAN
  163. # KÄYTTÄJÄN SYÖTTEILLÄ, JA TALLENNETAAN TAKAISIN JSON-TIEDOSTOON
  164.  
  165. file_handle = open("cities.json", "r")
  166. content = file_handle.read()
  167. file_handle.close()
  168. cities = json.loads(content)
  169.  
  170. for city in cities:
  171.     print(city['name'])
  172.     print(city['county'])
  173.     print(city['population'])
  174.     print()
  175.  
  176. # pyydetään käyttäjältä uuden kaupungin tiedot muuttujiin
  177. city_name = input("Anna lisättävän kaupungin nimi:\n")
  178. city_county = input("Anna lisättävän kaupungin maakunta:\n")
  179. city_population = input("Anna lisättävän kaupungin väkiluku:\n")
  180. city_population = int(city_population)
  181.  
  182. # rakennetaan muuttujista dictionary
  183. new_city = {
  184.     "name": city_name,
  185.     "county": city_county,
  186.     "population": city_population
  187. }
  188.  
  189. # lisätään uuden kaupungin dictionary tiedosto-listan
  190. cities.append(new_city)
  191.  
  192. # tallennetaan uusi lista tiedostoon
  193. # muunnetaan data JSON-formaattiin
  194. json_data = json.dumps(cities)
  195.  
  196. file_handle = open("cities.json", "w")
  197. file_handle.write(json_data)
  198. file_handle.close()
  199.  
  200. print("Uusi kaupunki tallennettu.")
  201.  
RAW Paste Data