linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Samankaltaiset tiedostot
linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

linux: Ympäristömuuttujat

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 6: Python

linux: Ympäristömuuttujat

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Pienimmän Neliösumman Sovitus (PNS)

linux linux: käyttäjän oikeudet + lisää ja - poistaa oikeuksia

Pienimmän Neliösumman Sovitus (PNS)

linux: komennoista linux linux

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmoinnin perusteet Y Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

linux: komennoista linux linux

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

L2: linux linux: Komentotulkki

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Pythonin alkeet Syksy 2010 Pythonin perusteet: Ohjelmointi, skriptaus ja Python

Java-kielen perusteita

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Luento 5. Timo Savola. 28. huhtikuuta 2006

Kieliteknologian ATK-ympäristö Neljäs luento

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Johdatus Ohjelmointiin

Ohjelmoinnin peruskurssi Y1

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön

linux: koneelta toiselle

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 5: Python

Korpusten käsittely clt131, P Luento 4

Ohjelmoinnin perusteet Y Python

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

ATK tähtitieteessä. Osa 4 - IDL input/output. 19. syyskuuta 2014

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Ohjelmoinnin perusteet Y Python

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

Tähtitieteen käytännön menetelmiä: I

Luento 4. Timo Savola. 21. huhtikuuta 2006

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Ohjelmoinnin perusteet Y Python

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Ohjelmoinnin perusteet Y Python

L9: Rayleigh testi. Laskuharjoitus

linux: arkistointi jjj

Ohjelmoinnin perusteet Y Python

Pieni johdatus L A TEXin Listings-pakettiin. Jonne Itkonen

Sisällys. Johdatus Linux/Unixiin: Osa 2. Prosessin tilat. Prosessien hallinta. Prosessien monitorointi

Ohjelmoinnin perusteet Y Python

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

L9: Rayleigh testi. Laskuharjoitus

Ohjelmoinnin perusteet Y Python

Java-kielen perusteet

Ohjelmoinnin perusteet Y Python

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

Ohjeita LINDOn ja LINGOn käyttöön

linux linux: rm, cp, mv ls Return listaa työhakemiston sisällön

Ohjelmoinnin peruskurssi Y1

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. C-ohjelma. Operaatioiden suoritusjärjestys

Ohjelmoinnin peruskurssi Y1

Kieliteknologian ATK-ympäristö Kolmas luento

12. Näppäimistöltä lukeminen 12.1

Android ohjelmointi Tunti 5. SQLite, Cursor, Intent ja ADB

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin perusteet Y Python

Harjoitustyö: virtuaalikone

Ohjelmoinnin peruskurssi Y1

Est.kand Kandidaatintyö ja seminaari: L A T E Xin käyttöönotto

Ohjelmoinnin perusteet Y Python

Peilaus pisteen ja suoran suhteen Pythonin Turtle moduulilla

Tieto- ja tallennusrakenteet

Ohjelmoinnin alkeita Python-kielellä

Tieteellinen laskenta I (Scientific Computing I)

Ohjelmoinnin perusteet Y Python

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Jypelin käyttöohjeet» Ruutukentän luominen

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Seuraavassa on esitetty seuraavien laskutoimitusten suoritukset eri laskinmalleilla

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

SEM1, työpaja 2 ( )

ATK tähtitieteessä. Osa 2 - IDL perusominaisuudet. 12. syyskuuta 2014

Ohjelmoinnin perusteet Pythonilla. Teemu Sirkiä, 2015

Ohjelmoinnin perusteet Y Python

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Tulosta yrityksesi tuloslaskelma ja tase myöhempää tarkastusta varten. Ota varmuuskopio tilanteesta ennen tilimuunnosta.

Korpusten käsittely clt131, P Luento 5

Transkriptio:

L7: linux linux: Prosessit linux: Prosessit Jokainen komento käynnistää vähintään yhden prosessin Jokaiselle prosessilla tunniste PID, jolla prosessiin voidaan viitata. Jokaisella prosesilla on prioriteetti PRI. Se kertoo paljonko prosessi käyttää koneen resursseja muihin prosesseihin nähden Normaalisti komento käynnistää prosessin aktiiviseksi komento & käynnistää prosessin taustalle Esimerkki: emacs nimi & siirtää editorin taustalle ja linux komentotulkissa voi edelleen antaa muita komentoja ps tulostaa aktiiviset prosessit Ctrl + c lopettaa aktiivisen prosessin kill PID lopettaa prosessin PID, jos siihen on oikeudet linux: Prosessit jobs tulostaa käynnissä olevat työt. Tulostus voi olla vaikkapa [1] Running emacs tila2015.tex & [5]- Running evince tila2015.pdf & top listaa tietoa käynnissä olevista prosessit prosessorin käytön mukaan Prioriteetti välillä 20 PRI +19. Pienempi PRI Tärkeämpi prosessi Käyttäjien PID 0 (Oletus = 0) nice -n arvo komento käynnistää komennon prioriteetilla PRI=arvo. Esimerkki: nice -n +3 python käynnistää python:n prioriteetilla PRI=3 ps -lx grep python kertoo, että prosessilla on PID=6632 renice +5 6632 muuttaa PRI=5:een PRI arvoa voi vain kasvattaa (vähentää prosessin tärkeyttä) Miksi ja milloin?

String manipulointi (kuva: @LoadingArtist.com) python Useita python komentoja Esimerkki 1 A= abcd ; x=a.find( c ); print(x) tulostaa 2 Esimerkki 2 B= o,1,p ; x=b.split(, ); print(x) tulostaa [ o, 1, p ], = Erotin Esimerkki 3 B= o 1 p ; x=b.split(); print(x) tulostaa [ o, 1, p ] tyhjä= Oletus (default) erotin Esimerkki 4 A= Lauri ; B=A.strip( L ) ; print(b) tulostaa auri Mahdotonta muistaa komennot ulkoa vuoden (päivän, tunnin?) päästä Komento grep.split *.py Malli kaikista ohjelmista *.py joissa esiintyy komento.split

String manipulointi # K o m e n t t i r i v i : Tama on python ohjelmani S t r i n g m a l l i 1. py # J o i t a k i n esimerkkeja s t r i n g i e n m a n i p u l o i n n i s t a # import os ; os. system ( clear ) # Tyhjennetaan n a y t t o a= " karhunkierros " ; b=a. find ( " karhu " ) # E t s i t e k s t i p r i n t ( b =, b ) # Tulos ============= d = AbCd ; e=d. upper ( ) # I s o i k s i k i r j a i m i k s i p r i n t ( d =,d,, e=, e ) # Tulos ============= f = EfGh ; g= f. lower ( ) # P i e n i k s i k i r j a i m i k s i p r i n t ( f =, f,, g=, g ) # Tulos ============= j = xku xnkkx ; k= j. replace ( x, a ) # Korvaa x m e r k i l l a a p r i n t ( j =, j,, k=, k ) # Tulos ============= l = ABNyt OKABAB ; m= l. s t r i p ( AB ) # Poista m erkit AB p r i n t ( l =, l,,m=,m) # Tulos ============= o= x ; h ; 8 ; 9 ; p=o. s p l i t ( ; ) # Jaa e r o t t i m e l l a = ; p r i n t ( o =,o,, p=, p ) # Tulos ============= p r i n t ( p [ 0 ] =, p [ 0 ] ) # p : n 1. e l e m e n t t i python3 Stringmalli1.py tulostaa b = 0 d = AbCd,e= ABCD f = EfGh,g= efgh j = xku xnkkx,k= aku ankka l = ABNyt OKABAB,m= Nyt OK o = x;h;8;9,p= [ x, h, 8, 9 ] p[0]= x

Formatointi Reaaliluvun muunnos stringiksi a=9.89 ; b=str(a) ; print(b) tulostaa 9.89 print(type(a)) ; print(type(b)) tulostaa <class float > <class str > Reaaliluvun formatointi stringiksi a=4.567 ; b= %7.5f %a ; print(b) tulostaa 4.56700 Reaali- ja kokonaisluku stringiksi a=1.23; b=78; c= %3.1f%3i %(a,b) print(c) tulostaa 1.2 78 Mahdotonta muistaa ulkoa vuoden (päivän, tunnin?) päästä grep %i *.py Malli kaikista ohjelmista *.py, joissa esiintyy komento %i

Formatointi (kuva:@improgrammer.net) # Kome nttirivi : Tama on python ohjelmani Formatointimalli1. py # J o i t a k i n s t r i n g muunnoksen f o r m a t o i n t i esimerkkeja # import os ; os. system ( clear ) # Tyhjennetaan naytto # Reaaliluvun muunnos s t r i n g i k s i ============================ a =1.458 # Luku b=str ( a ) # Muunnos s t r i n g i k s i p r i n t ( b=,b,, type ( b)=, type ( b ) ) # T a r k i s t u s # Reaaliluvun formatointi : leveys =8, desimaalit=5 =========== c =7.89 # Luku d= %8.5 f %c # F o r m a t o i n t i print ( d=,d ) # T a r k i s t u s # Kokonaisluvun formatointi : leveys=6 ======================= e=71 # Luku f = %6i %e # F o r m a t o i n t i p r i n t ( f =, f ) # T a r k i s t u s # Reaaliluvun j a kokonaisluvun y h d i s t e t t y f o r m a t o i n t i ======= g = 2. 3 4 ; h= 912 # Luvut i= %4.1f%5i %(g, h ) # F o r m a t o i n t i p r i n t ( i =, i ) # T a r k i s t u s # Reaaliluku, string ja kokonaisluku yhdistetty ============= j = 9. 8 4 ; k= t e k s t i a ; l =812 # Y h d i s t e t t a v a t m= %6.0 f%10s%7i %( j, k, l ) # F o r m a t o i n t i print ( m=,m) # T a r k i s t u s # Reaaliluku, string, kokonaisluku ja \ & yhdistetty === n = 9. 2 3 ; o= 87 ; p= \\\\ # Y h d i s t e t t a v a t q= %8.3e & %3 i %2s %(n, o, p) # Formatointi p r i n t ( q=,q) # T a r k i s t u s python3 Formatointimalli1.py tulostaa b= 1.458, type(b)= <class str > d= 7.89000 f= 71 i= 2.3-912 m= 10 tekstia 812 q= 9.230e+00 & -87 \\

Formatointi # K o m e n t t i r i v i : Tama on python ohjelmani F o r m a t o i n t i m a l l i 2. py # J o i t a k i n p r i n t komennon f o r m a t o i n t i esimerkkeja # import os ; os. system ( clear ) # Tyhjennetaan n a y t t o # Esimerkkeja formatoidusta p r i n t komennosta ================= a =0.123456789 ; b= abcde ; c=123456 # f l o a t, s t r i n g, i n t e g e r p r i n t ( " %6.2 f " % (a ) ) # 6 merkkia, 2 desimaali p r i n t ( " %12.5 f " % (a ) ) # 1 2 merkkia, 5 desimaalia p r i n t ( "%8s " % (b ) ) # 1 2 merkkia p r i n t ( "%30s " % (b ) ) # 3 0 merkkia p r i n t ( "%6i " % (c ) ) # 6 merkkia p r i n t ( "%15 i " % (c ) ) # 1 5 merkkia p r i n t ( " %12.3 f%10s%8i " % (a, b, c ) ) # Yhdistelma p r i n t ( " %12.3 f & %10s & %8 i " % (a, b, c ) ) # L i s a t t y kaksi " & " merkkia python3 Formatointimalli2.py tulostaa 0.12 0.12346 abcde abcde 123456 123456 0.123 abcde 123456 0.123 & abcde & 123456

Datan lukeminen ja kirjoittaminen kuva: www.cartoonstock.com Formatointi: Datan lukeminen, kirjoittaminen ja näyttäminen Tärkein on lopputulos: Tulos sama eri tavoilla Malliohjelmat: Yritys ja erehdys n. 30 tuntia Luetaan ensin yksinkertaisempaa tiedostoa Mallidata1.dat ohjelmilla LueTiedosto1A.py ( readline=rivi) LueTiedosto1B.py ( readlines=rivilista) LueTiedosto1C.py ( numpy.loadtxt) Luetaan sitten monimutkaisempaa tiedostoa Mallidata1.dat ohjelmilla LueTiedosto2A.py ( readline=rivi) LueTiedosto1B.py ( readlines=rivilista) LueTiedosto1C.py ( numpy.loadtxt) Kirjoittaminen KirjoitaTiedosto1.py ( f.write) KirjoitaTiedosto2.py ( numpy.savetxt) Näistä malleista on teille myöhemmin hyötyä kun luette tai kirjoitatte tiedostoja

Datan lukeminen Luettava tiedosto Mallidata1.dat muotoa 1 A 2 B 3 C readline lukee RIVI kerrallaan kaksi kolumnia Lukee stringinä float(lukunyt) python LueTiedosto1A.py tulostaa [1.0] [ A ] [1.0, 2.0] [ A, B ] [1.0, 2.0, 3.0] [ A, B, C ] # K o m e n t t i r i v i : Tama on ohjelmani LueTiedosto1A. py import os ; os. system ( clear ) # Tyhjennetaan naytto luku = [ ] ; sana = [ ] # Luo kaksi t y h j a a muuttujaa f i l e = open ( M a l l i d a t a 1. dat, r ) # Avaa t i e d o s t o M a l l i d a t a 1. dat r i v i = f i l e. r e a d l i n e ( ) # LUETAAN RIVI KERRALLAAN while ( len ( r i v i ) > 0 ) : # Ei t y h j a r i v i osat= r i v i. s p l i t ( ) # Tyhjien mukaan o s i k s i lukunyt=osat [ 0 ] # 1. elementti sananyt=osat [ 1 ] # 2. elementti luku. append ( f l o a t ( l u k u n y t ) ) # Lisaa arvo muuttujaan luku sana. append ( sananyt ) # Lisaa arvo muuttujaan sana print ( luku, sana ) # Nayta n y k y i s e t a r v o t r i v i = f i l e. r e a d l i n e ( ) # Lue seuraava r i v i f i l e. close ( ) # S u l j e M a l l i d a t a 1. dat

Datan lukeminen Luettava tiedosto Mallidata1.dat muotoa 1 A 2 B 3 C readlines lukee KAIKKIEN RIVIEN kaksi kolumnia Lukee stringinä float(lukunyt) python LueTiedosto1B.py tulostaa [1.0] [ A ] [1.0, 2.0] [ A, B ] [1.0, 2.0, 3.0] [ A, B, C ] # K o m e n t t i r i v i : Tama on ohjelmani LueTiedosto1B. py # import os ; os. system ( clear ) # Tyhjennetaan naytto f = open ( M a l l i d a t a 1. dat, r ) # Avaa M a l l i d a t a 1. dat data = f. readlines ( ) # LUETAAN RIVILISTANA f. close ( ) # S u l j e M a l l i d a t a 1. dat luku = [ ] ; sana = [ ] # Luo kaksi t y h j a a muuttujaa for r i v i in data : # Looppi muuttujan data r i v e i l l e osat= r i v i. s p l i t ( ) # Tyhjien mukaan o s i k s i lukunyt=osat [ 0 ] # 1. elementti sananyt=osat [ 1 ] # 2. elementti luku. append ( f l o a t ( l u k u n y t ) ) # Lisaa arvo muuttujaan luku sana. append ( sananyt ) # Lisaa arvo muuttujaan sana print ( luku, sana ) # Nayta n y k y i s e t a r v o t

Datan lukeminen Luettava tiedosto Mallidata1.dat muotoa 1 A 2 B 3 C np.loadtxt lukee 1. kolumnin np.genfromtxt lukee 2. kolumnin np.loadtxt lukee suoraan vektoriksi # Kommenttirivi : tama on python ohjelmani LueTiedosto1C. py # import os ; os. system ( clear ) # Tyhjennetaan n a y t t o import numpy as np # numpy i m p o r t o i t u f i l e = M a l l i d a t a 1. dat # Tiedoston nimi luku=np. l o a d t x t ( f i l e, dtype= f l o a t, usecols = ( 0, ) ) # Lue 1. kolumni sana=np. genfromtxt ( f i l e, dtype= s t r, usecols = ( 1, ) ) # Lue 2. kolumni print ( luku, sana ) # Nayta m u u t t u j i e n a r v o t p r i n t ( np. cos ( luku ) ) # Muuttuja luku= v e k t o r i. S i i t a v o i laskea esim. c o s i n i n Kokeilin myös komentoa sana=np.loadtxt(file,dtype= str,usecols=(1,)) print(sana) tulostaa ["b A b B b C "] python LueTiedosto1C.py tulostaa [ 1. 2. 3.] [ A B C ] [ 0.54030231-0.41614684-0.9899925 ]

Datan lukeminen Luettava tiedosto Mallidata2.dat muotoa Mallidata2.dat HJD Year M D H M 2454395.96 2007 10 22 10 59 2454399.48 2007 10 25 23 35 2454403.01 2007 10 29 12 11 readline riviltä 3. alkaen 1. kolumnin luvut python LueTiedosto2A.py tulostaa [] [] [2454395.96] [2454395.96, 2454399.48] [2454395.96, 2454399.48, 2454403 date = [2454395.96, 2454399.48, type(date)= <class list > # K o m e n t t i r i v i : Tama on ohjelmani LueTiedosto2A. py import os ; os. system ( clear ) # Tyhjennetaan naytto date = [ ] # Tyhja muuttuja f i l e = open ( M a l l i d a t a 2. dat, r ) # Avaa t i e d o s t o M a l l i d a t a 2. dat r i v i = f i l e. r e a d l i n e ( ) # LUETAAN RIVI KERRALLAAN while ( len ( r i v i ) > 0 ) : # Ei t y h j a r i v i osat= r i v i. s p l i t ( ) # Tyhjien mukaan o s i k s i osa=osat [ 0 ] # 1 a l k i o q=osa. f i n d ( " 245 " ) # E t s i " 2 4 5 " t e k s t i a i f ( q> 1): # Jos l o y t y y..., # String muutetaan desimaaliluvuksi kaskylla " f l o a t " date. append ( f l o a t ( osa ) ) # Lisaa arvo muuttujaan date print ( date ) # Nayta nykyinen date r i v i = f i l e. r e a d l i n e ( ) # Lue seuraava r i v i f i l e. close ( ) # S u l j e M a l l i d a t a 2. dat p r i n t ( " date = ", date ) # T a r k i s t u s p r i n t ( " type ( date )= ", type ( date ) ) # T a r k i s t u s

Datan lukeminen Luettava tiedosto Mallidata2.dat muotoa Mallidata2.dat HJD Year M D H M 2454395.96 2007 10 22 10 59 2454399.48 2007 10 25 23 35 2454403.01 2007 10 29 12 11 readlines riviltä 3. alkaen 1. kolumnin luvut python LueTiedosto2B.py tulostaa [] [] [2454395.96] [2454395.96, 2454399.48] [2454395.96, 2454399.48, 2454403.01] date = [2454395.96, 2454399.48, 2454403 type(date)= <class list > # K o m e n t t i r i v i : Tama on python ohjelmani LueTiedosto2B. py # import os ; os. system ( clear ) # Tyhjennetaan naytto f = open ( M a l l i d a t a 2. dat, r ) # Avaa M a l l i d a t a 2. dat data = f. readlines ( ) # LUETAAN RIVILISTANA f. close ( ) # S u l j e M a l l i d a t a 2. dat date = [ ] # Luo t y h j a l i s t a for r i v i in data : # Looppi datan r i v e i l l e osat= r i v i. s p l i t ( ) # Tyhjien mukaan o s i k s i osa=osat [ 0 ] # 1 a l k i o q=osa. f i n d ( " 245 " ) # E t s i " 2 4 5 " t e k s t i a i f ( q> 1): # Jos l o y t y y..., # String muutetaan desimaaliluvuksi kaskylla " f l o a t " date. append ( f l o a t ( osa ) ) # Lisaa arvo muuttujaan date print ( date ) # Nayta nykyinen date p r i n t ( " date = ", date ) # T a r k i s t u s p r i n t ( " type ( date )= ", type ( date ) ) # T a r k i s t u s

Datan lukeminen Luettava tiedosto Mallidata2.dat muotoa Mallidata2.dat HJD Year M D H M 2454395.96 2007 10 22 10 59 2454399.48 2007 10 25 23 35 2454403.01 2007 10 29 12 11 loadtxt lukee riviltä 3. alkaen 1. kolumnin luvut loadtxt default: dtype= float joten sitä ei tarvitse mainita skiprows=2 ohittaa kaksi ensimmäistä riviä python LueTiedosto2C.py tulostaa date = [ 2454395.96 2454399.48 2454403.01] type(date)= <class numpy.ndarray > [ 0.00415457 0.36557712-0.69084715] # Kommenttirivi : tama on ohjelmani LueTiedosto2C. py # import os ; os. system ( clear ) # Tyhjennetaan n a y t t o import numpy as np # numpy i m p o r t o i t u f i l e = M a l l i d a t a 2. dat # Tiedoston nimi # Komennolla " skiprows =2" jatetaan lukematta 2 ensimmaista r i v i a date=np. l o a d t x t ( f i l e, skiprows =2, usecols = ( 0, ) ) # Lue 1. kolumni p r i n t ( " date = ", date ) # T a r k i s t u s p r i n t ( " type ( date )= ", type ( date ) ) # T a r k i s t u s p r i n t ( np. cos ( date ) ) # T a r k i s t u s date on valmiiksi vektori, josta voi ottaa vaikkapa cosinin

Datan kirjoittaminen (kuva: @quotesgram.com) KirjoitaTiedosto1.py ohjelma kirjoittaa kaksi tiedostoa KirjoitaData1a.dat ja KirjoitaData1b.dat # Komenttirivi : Tama on ohjelmani KirjoitaTiedosto1. py # Kirjoitetaan tiedostoon r i v i kerrallaan # import os ; os. system ( clear ) # Tyhjennetaan naytto import numpy # Importoidaan Numpy x=numpy. arange ( 3. ) ; print ( " x= ",x ) # Luodaan 1 v e k t o r i y=numpy. sin ( x ) ; print ( " y= ",y ) # Luodaan 2 v e k t o r i # # K i r j o i t e t a a n vain l u k u j a f =open ( KirjoitaData1a. dat, w ) # Avaa t i e d o s t o n for i in range ( len ( x ) ) : # f o r l o o p p i f. w r i t e ( " %6.1 f %8.4 f \ n " %( x [ i ], y [ i ] ) ) # K i r j o i t t a a r i v i n f. close ( ) # Sulkee t i e d o s t o n # # K i r j o i t e t a a n l u k u j a j a s t r i n g e j a esim : Latex kayttoon f =open ( KirjoitaData1b. dat, w ) # Avaa t i e d o s t o n for i in range ( len ( x ) ) : # f o r l o o p p i f. w r i t e ( " %6.1 f%3s%8.4 f%4s \ n "%(x [ i ], &, y [ i ], \ \ \ \ ) ) f. close () # Sulkee t i e d o s t o n python KirjoitaTiedosto1.py tulostaa x= [ 0. 1. 2.] y= [ 0. 0.84147098 0.90929743] Alempi tapa käytännöllinen laskuharjoituksissa KirjoitaData1a.dat on muotoa 0.0 0.0000 1.0 0.8415 2.0 0.9093 KirjoitaData1b.dat on muotoa 0.0 & 0.0000 \\ 1.0 & 0.8415 \\ 2.0 & 0.9093 \\

Datan kirjoittaminen KirjoitaTiedosto2.py ohjelma kirjoittaa kaksi tiedostoa KirjoitaData2a.dat ja KirjoitaData2b.dat # Komenttirivi : Tama on ohjelmani KirjoitaTiedosto2. py # Eras nopea tapa k i r j o i t t a a k e r r a l l a k a i k k i data # import os ; os. system ( clear ) # Tyhjennetaan naytto import numpy as np # Importoidaan Numpy x=np. arange ( 3. ) ; p r i n t ( " x= ", x ) # Luodaan 1 v e k t o r i y=np. sin ( x ) ; print ( " y= ",y ) # Luodaan 2 v e k t o r i # np. s a v e t x t ( K i r j o i t a D a t a 2 a. dat, ( x, y ), fmt= %10.3 f ) np. s a v e t x t ( K i r j o i t a D a t a 2 b. dat, np. transpose ( ( x, y, ) ), fmt= %10.3 f ) python KirjoitaTiedosto2.py tulostaa x= [ 0. 1. 2.] y= [ 0. 0.84147098 0.90929743] Tämä yhden rivi komento np.savetxt on käytännöllinen kun tahdotaan kirjoittaa lukuja nopeasti ja helposti tiedostoihin KirjoitaData2a.dat on muotoa 0.000 1.000 2.000 0.000 0.841 0.909 KirjoitaData2b.dat on muotoa 0.000 0.000 1.000 0.841 2.000 0.909