tuomasvaltanen

Untitled

Nov 30th, 2021 (edited)
637
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # tiedostot Pythonissa!
  2.  
  3. # TEEN ENSIN weekdays.txt -tiedosto projektiisi, jossa on allekkain viikonpäivät suomeksi!
  4.  
  5. # aukaistaan tiedosto lukumoodissa ja tulostetaan koko sisältö
  6. # yhdessä muuttujassa
  7. file_handle = open("weekdays.txt", "r")
  8. content = file_handle.read()
  9. print(content)
  10.  
  11.  
  12. # TOINEN TIEDOSTO
  13. file_handle = open("weekdays.txt", "r")
  14.  
  15. counter = 1
  16.  
  17. # haetaan tiedostosta sisältö rivi kerrallaan
  18. while True:
  19.     line = file_handle.readline()
  20.     print(f"{counter}: {line}")
  21.  
  22.     counter = counter + 1
  23.  
  24.     # rivit loppui, katkaistaan silmukan ajo
  25.     if not line:
  26.         break
  27.  
  28. # UUSI TIEDOSTO
  29.  
  30. file_handle = open("weekdays.txt", "r")
  31.  
  32. # tiedosto listaksi!
  33. content = file_handle.read()
  34. lines = content.split("\n")
  35.  
  36. # koska tavallinen lista, voidaan tehdä näin:
  37. for day in lines:
  38.     print(day)
  39.  
  40. print()
  41.  
  42. # tai numeroituna listana
  43. amount = len(lines)
  44.  
  45. for index in range(amount):
  46.     day = lines[index]
  47.     print(f"{index + 1}: {day}")
  48.  
  49. # UUSI TIEDOSTO
  50.  
  51. file_handle = open("weekdays.txt", "r")
  52.  
  53. # tiedosto listaksi!
  54. content = file_handle.read()
  55. lines = content.split("\n")
  56.  
  57. # joinin avulla yhdeksi tekstiksi koko tiedosto
  58. text = ", ".join(lines)
  59. print(text)
  60.  
  61. # perinteinen tyyli, samalla rivillä
  62. # text = ""
  63. #
  64. # for day in lines:
  65. #     text = text + day + ", "
  66. #
  67. # print(text)
  68.  
  69. # UUSI TIEDOSTO
  70.  
  71. # avataan KIRJOITUSMOODISSA tiedosto
  72. # utf-8 pitää huolen siitä ääkköset toimii oikein (merkistöongelmat)
  73. file_handle = open("muistio.txt", "w", encoding="utf-8")
  74.  
  75. # pyydetään käyttäjältä tekstiä
  76. word = input("Tallenna viesti:\n")
  77.  
  78. # kirjoitetaan teksti tiedostoon
  79. file_handle.write(word)
  80.  
  81. # UUSI TIEDOSTO
  82.  
  83. # avataan KIRJOITUSMOODISSA tiedosto
  84. # utf-8 pitää huolen siitä ääkköset toimii oikein (merkistöongelmat)
  85. file_handle = open("muistio.txt", "a", encoding="utf-8")
  86.  
  87. # pyydetään käyttäjältä tekstiä
  88. word = input("Tallenna viesti:\n")
  89.  
  90. # muista laittaa rivinvaihtoja mukaan
  91. # ettei tekstit menee yhteen pötköön tiedostoon
  92. word = word + "\n\n"
  93.  
  94. # kirjoitetaan teksti tiedostoon
  95. file_handle.write(word)
  96.  
  97. # UUSI TIEDOSTO
  98.  
  99. # muista tehdä city.json -tiedosto jossa on yhden kaupungin dictionary ensin! (ks. Moodle)
  100. import json
  101.  
  102. file_handle = open("city.json", "r")
  103. content = file_handle.read()
  104.  
  105. # huom: content on vain tekstiä, vaikka
  106. # se näyttää ihan dictionaryltä!
  107. # print(content['population'])
  108.  
  109. # muutetaan JSON (eli teksti) => Pythonin dictionaryksi
  110. city = json.loads(content)
  111.  
  112. # nyt voimme käyttää tätä kuten dictionaryä
  113. print(city['population'])
  114.  
  115. # UUSI TIEDOSTO
  116.  
  117. import json
  118.  
  119. # puhelimen tiedot, Pythonin dictionary
  120. phone = {
  121.     "name": "Nokia 3310",
  122.     "release_year": 2000,
  123.     "battery": "1000mAh",
  124.     "camera": False,
  125.     "weight": 133
  126. }
  127.  
  128. # muutetaan dictionary => tekstiksi (eli JSON)
  129. data = json.dumps(phone)
  130.  
  131. # tallennetaan teksti tiedostoon (eli JSON)
  132. file_handle = open("phone.json", "w")
  133. file_handle.write(data)
  134. file_handle.close()
  135.  
  136. print("Puhelin tallennettu tiedostoon.")
  137.  
  138. # UUSI TIEDOSTO
  139.  
  140. import json
  141.  
  142. # sama tuttu kuvio kun muutetaan json-tiedosto
  143. # pythonin dataksi (tässä tapauksessa se on lista dictionaryjä)
  144. file_handle = open("cities.json", "r")
  145. content = file_handle.read()
  146. cities = json.loads(content)
  147. file_handle.close()
  148.  
  149. # cities on ihan tavallinen lista dictionaryjä nyt
  150. # eli voidaan silmukoida se näin:
  151. for city in cities:
  152.     name = city['name']
  153.     population = city['population']
  154.     county = city['county']
  155.  
  156.     print(f"{name} ({county}), asukasmäärä: {population}")
  157.  
  158. # UUSI TIEDOSTO
  159.  
  160. # MUISTA TEHDÄ cities.json -tiedosto ensin! sisältää aluksi kolme kaupunkia (Rovaniemi, Oulu, Helsinki)
  161.  
  162. import json
  163.  
  164. # sama tuttu kuvio kun muutetaan json-tiedosto
  165. # pythonin dataksi (tässä tapauksessa se on lista dictionaryjä)
  166. file_handle = open("cities.json", "r")
  167. content = file_handle.read()
  168. cities = json.loads(content)
  169. file_handle.close()
  170.  
  171. # cities on ihan tavallinen lista dictionaryjä nyt
  172. # eli voidaan silmukoida se näin:
  173. for city in cities:
  174.     name = city['name']
  175.     population = city['population']
  176.     county = city['county']
  177.  
  178.     print(f"{name} ({county}), asukasmäärä: {population}")
  179.  
  180. # kysytään käyttäjältä uuden lisättävän kaupungin
  181. # tiedot muuttujiin!
  182. city_name = input("Lisättävän kaupungin nimi:\n")
  183. city_county = input("Lisättävän kaupungin maakunta:\n")
  184. city_population = input("Lisättävän kaupungin väkiluku:\n")
  185. city_population = int(city_population)
  186.  
  187. # rakennetaan muuttujista uusi dictionary
  188. new_city = {
  189.     "name": city_name,
  190.     "population": city_population,
  191.     "county": city_county
  192. }
  193.  
  194. # lisätään dictionary aiempien kaupunkien jatkoksi!
  195. cities.append(new_city)
  196.  
  197. # lista JSONiksi
  198. json_data = json.dumps(cities)
  199.  
  200. # jyrätään vanha JSON uudella JSONilla!
  201. file_handle = open("cities.json", "w")
  202. file_handle.write(json_data)
  203. file_handle.close()
  204.  
  205. print("Uusi kaupunki on tallennettu!")
  206.  
RAW Paste Data