︠800fcb5e-3f52-4b2a-be68-184ec17235f8i︠
%html
Filhantering
Antag att vi har en lista vars innehåll vi vill spara genom att skriva till en fil.
︡615654eb-5748-4e24-ab1f-37d1f95496e9︡{"done":true,"html":"\n Filhantering\n
\nAntag att vi har en lista vars innehåll vi vill spara genom att skriva till en fil."}
︠7bcd3789-9c63-4dbe-a537-43722839ccd2s︠
L = [sin(0.2*k+1) for k in range(5)]
L
︡9a51862b-ea58-4fc6-9990-289d756a8b45︡{"stdout":"[0.841470984807897, 0.932039085967226, 0.985449729988460, 0.999573603041505, 0.973847630878195]\n"}︡{"done":true}︡
︠f53d505c-69c2-4a66-ba3d-0dc54b17190ai︠
%html
Vi öppnar filen för inskrivning ('w'). Om filen inte existerar skapas filen.
︡0ab796ea-2f0e-4f8d-b381-e375ee587c41︡{"done":true,"html":"Vi öppnar filen för inskrivning ('w'). Om filen inte existerar skapas filen."}
︠6fec9a4a-6cb6-45a6-ad1a-ccf0d0c73a6cs︠
fil_ut = open('data.txt', 'w')
︡fce86dd4-74b6-4234-bc9b-ee12959d9a45︡{"done":true}︡
︠35308bb6-3cc3-401d-9615-e1feda5e986bi︠
%html
Därefter skriver vi listan till filen - ett element per rad.
︡c1fe0dbd-f1bf-4739-83c6-759b07dd3c81︡{"done":true,"html":"Därefter skriver vi listan till filen - ett element per rad."}
︠b5d52b33-fc32-4100-8065-96e055dfe6c5s︠
for a in L :
fil_ut.write(str(a) + '\n') # \n = radbrytning
︡7f61c797-5a21-47d4-ba5e-5f444f6b6da6︡{"done":true}︡
︠f559c8da-8366-4fb1-aee1-d7f116958c00i︠
%html
Slutligen stänger vi filen.
︡18067b87-d5ff-40ad-888e-15f5fc9f9355︡{"done":true,"html":"Slutligen stänger vi filen."}
︠4bf67ef8-19ec-42d9-8ed9-f0968458b784s︠
fil_ut.close()
︡48b9d0a7-9c71-4d8b-8510-717aa8280b89︡{"done":true}︡
︠6ab97646-7a7c-4dc7-b9b7-48d246f8f1bbi︠
%html
Vi kan skriva ut innehållet i filen.
︡1d8074a5-e142-4b37-8446-1f07e7ecfa4c︡{"done":true,"html":"Vi kan skriva ut innehållet i filen."}
︠bb5b7f5f-b9a0-45ab-bc8e-739e5da278e2s︠
print ''.join(file('data.txt'))
︡e3b2562a-e2db-43db-9ef1-1b12b2460131︡{"stdout":"0.841470984807897\n0.932039085967226\n0.985449729988460\n0.999573603041505\n0.973847630878195\n\n"}︡{"done":true}︡
︠32d08a72-8358-4b40-8ca2-2482a968bae9i︠
%html
För att läsa in listan igen öppnar man filen för läsning ('r'), läser in raderna och stänger filen.
︡9ea34966-2b8a-4263-8b63-ce7c3cb0f6ee︡{"done":true,"html":"För att läsa in listan igen öppnar man filen för läsning ('r'), läser in raderna och stänger filen."}
︠73dd8c1f-6dd2-43f4-8618-08ee17fb8827s︠
fil_in = open('data.txt', 'r')
L = fil_in.readlines() # läs raderna i filen som en lista
fil_in.close()
︡a9199d11-926a-410d-822d-382f07ec16e9︡{"done":true}︡
︠4fcd7f54-ed27-4589-a1ed-a4837ee005b0i︠
%html
Varje element i listan är en textstrng med ett radbrytningstecken.
︡c9806f7f-64b9-4f9f-a0ee-4aa9000b9035︡{"done":true,"html":"Varje element i listan är en textstrng med ett radbrytningstecken."}
︠3e197ff5-4b45-441a-b4ff-b9636de7a535s︠
L
︡e6024695-f2ec-4733-8a70-a839b7df28b5︡{"stdout":"['0.841470984807897\\n', '0.932039085967226\\n', '0.985449729988460\\n', '0.999573603041505\\n', '0.973847630878195\\n']\n"}︡{"done":true}︡
︠c5de1f71-b1ad-47fc-ab6c-7d7dccdf8146i︠
%html
Vi kan ta bort radbrytningstecknet med funktionen strip.
︡b4bdffd9-dd02-41f6-a9eb-80d43f8e80c9︡{"done":true,"html":"Vi kan ta bort radbrytningstecknet med funktionen strip."}
︠e2d63c7d-45df-468e-84c6-9add8366bbcas︠
L = [t.strip() for t in L]
L
︡8923c8d4-5c52-456f-b058-aed5e3c5a448︡{"stdout":"['0.841470984807897', '0.932039085967226', '0.985449729988460', '0.999573603041505', '0.973847630878195']\n"}︡{"done":true}︡
︠728cc391-2dd2-4d73-b419-6eb2392da07di︠
%html
Slutligen konverterar vi varje textsträng till ett flyttal.
︡66c66818-865b-4d52-9a85-59cd15dcae71︡{"done":true,"html":"Slutligen konverterar vi varje textsträng till ett flyttal."}
︠d03028b1-822e-4188-bbb0-98f36d317383s︠
L = [RR(t) for t in L]
L
︡1923c18c-f12f-4762-a564-77b1c9f55637︡{"stdout":"[0.841470984807897, 0.932039085967226, 0.985449729988460, 0.999573603041505, 0.973847630878195]\n"}︡{"done":true}︡
︠93230a65-b0a0-43de-ad33-35ad670a6b7fs︠
parent(L[1])
︡d5af9d6b-e85a-4c09-bc3b-ab2395faf961︡{"stdout":"Real Field with 53 bits of precision\n"}︡{"done":true}︡
︠53854f9b-5525-466d-820c-cc99f9a065b8︠