︠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︠