Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Script nyelvek előadás

Hasonló előadás


Az előadások a következő témára: "Script nyelvek előadás"— Előadás másolata:

1 Script nyelvek előadás
- fájlkezelés - stringműveletek - importálás

2 Fájlműveletek - megnyitás f = open(fájlnév, mód) mód :
'r' --- csak olvasásra (ez a default), ha nincs ilyen fájl, hiba 'w' --- csak írásra (ha volt ilyen nevű fájl, akkor felülírja) 'a' --- hozzáfűzés céljából (ha nem létezik, létrehozza) 'r+' --- írásra és olvasásra, ha nincs ilyen fájl, hiba 'rb', 'wb', 'ab', 'r+b' --- ugyanez bináris fájlra (Windows/MAC eseten lényeges)

3 Fájlműveletek - beolvasás / f=open("adatok.txt", 'r') /
- f.read(3) -- paraméterben megadott byte-ot olvas - f.read() -- teljes fájl beolvasása (az olvasási pozíciótól), ha már elértük a fájl végét üres karakterláncot ad - f.readline() -- egy sor beolvasása - f.readlines() -- az összes további sor beolvasása tömb az eredmény, elemek végén ”\n” van

4 Fájlműveletek - feldolgozás - a fájl objektum iterálható:
f = open("adatok.txt", 'r') for line in f : print line, - lezárás - f.close() -- felszabadítja a fájlhoz kötött erőforrásokat

5 Fájlműveletek Megjegyzés: str() -- karaktersorozattá konvertálás
- kiírás f = open("eredmeny.txt", 'w') - f.write("Szoveg\n") - csak karaktersorozatot ír ki - nincs automatikus konverzió - nincs automatikus újsor karakter Megjegyzés: str() -- karaktersorozattá konvertálás

6 Fájlműveletek - léptetés f=open("tmp.txt", 'r')
- f.seek(2) adott sorszámú byte-ra ugrik - f.seek(3,0) adott byte-ot ugrik, a fájl elejéről (ez a default) - f.seek(2,1) adott byte-ot ugrik, aktuális pozíciótól - f.seek(-3,2) adott byte-ot ugrik, a fájl végétől - f.tell() aktuális pozíció

7 Karaktersorozatok további műveletei
s = "karaKTer sORozat" - s.capitalize() == 'Karakter sorozat' - s.lower() == 'karakter sorozat' - s.upper() == 'KARAKTER SOROZAT' - s.swapcase() == 'KARAktER SorOZAT'

8 Immutable vs Mutable s = "peLDa" - s.upper() == 'PELDA' - s == "peLDa"
- l.sort() == None - l == [2,4,5]

9 Karaktersorozatok további műveletei
r = "ritkán rikkant a rigó" - r.count("ri") == 3 - r.count("ri",0,5) == 1 - r.count("ri",0,10) == 2 Megjegyzés: ékezetes betűk r = "ritkán rikkant a rigó" - r[0:5] == 'ritk\xc3' - r[0:10] == 'ritk\xc3\xa1n ri' - 'á' == '\xc3\xa1' # két karakter

10 Karaktersorozatok további műveletei
r = "ritkán rikkant a rigó" - r.endswith("gó") == True - r.endswith(("ri","gó","án")) == True - r.endswith(("ri","gó","án"),0,10) == True - r.endswith(("ri","gó","án"),0,5) == False - r.startswith(("ri","gó","án"),4,10) == True

11 Karaktersorozatok további műveletei
- "alma\tfa".expandtabs(4) == "alma fa" - "almafa".find("fa") == 4 - "almafa".find("korte") == -1 - "abrakadabra".rfind("ra") == 9 - "abrakadabra".rfind("fa") == -1

12 Karaktersorozatok további műveletei
- "\t \n".isspace() == True - " ".isdigit() == True - " ".isdigit() == False

13 Karaktersorozatok további műveletei
Példaprogramok - stringprog1.py - stringprog2.py - stringprog3.py

14 Karaktersorozatok további műveletei
- ";".join("minta") == 'm;i;n;t;a' - "; ".join(["Pal", "Kata", "Peter"]) == 'Pal; Kata; Peter' - "\t\t\n szoveg \t\n".lstrip() == 'szoveg \t\n' - "\t\t\n szoveg \t\n".rstrip() == '\t\t\n szoveg' - "\t\t\n szoveg \t\n".strip() == 'szoveg' - "alma*.tx*".rstrip("*tx") == 'alma*.' - "indul aludni".strip("in") == 'dul alud'

15 Karaktersorozatok további műveletei
- 'almafa kortefa barackfa'.partition("fa") == ('alma', 'fa', ' kortefa barackfa') - 'almafa kortefa barackfa'.partition("level") == ('almafa kortefa barackfa', '', '') - 'almafa kortefa barackfa'.rpartition("fa") == ('almafa kortefa barack', 'fa', '') - 'Pal; Kata; Peter'.replace("; ", " es ") == 'Pal es Kata es Peter' - 'Pal; Kata; Peter'.replace("; ", "::", 1) == 'Pal::Kata; Peter'

16 Karaktersorozatok további műveletei
- 'Pal\n Kata\t Peter Balazs'.split() == ['Pal', 'Kata', 'Peter', 'Balazs'] - 'Pal; Kata; Peter'.split("; ") == ['Pal', 'Kata', 'Peter'] - 'Pal;Kata;Peter;;Balazs'.split(";") == ['Pal', 'Kata', 'Peter', '', 'Balazs'] - "".split() == [] - "".split(";") == [''] - 'Pal; Kata; Peter'.split("; ",1) == ['Pal', 'Kata; Peter'] - 'Pal Kata Peter'.split(None,1) == ['Pal', 'Kata Peter'] - 'Pal; Kata; Peter'.rsplit("; ",1) == ['Pal; Kata', 'Peter'] - 'Pal Kata Peter'.rsplit(None,1) == ['Pal Kata', 'Peter']

17 Karaktersorozatok további műveletei
- 'Pal\n Kata\n Peter\n'.splitlines() == ['Pal', ' Kata', ' Peter'] - 'Pal\n Kata\n Peter\n'.splitlines(True) == ['Pal\n', ' Kata\n', ' Peter\n'] import string - "indul a".translate(string.maketrans("adilnu","iuanld"), " ") == 'aludni' -"indul a".translate(None, "a ") == 'indul'

18 Karaktersorozatok további műveletei
Példaprogram - stringprog4.py

19 Karaktersorozatok további műveletei Formázás
s = "pozicio" - s.center(15,"-") == '----pozicio----' - s.center(15) == ' pozicio ' - s.ljust(15,"-") == 'pozicio ' - s.rjust(15,"-") == ' pozicio'

20 Karaktersorozatok további műveletei Formázás
- "%3d %-3d" %(1, 2) == ' ' - "%3d %-3d" %(10, 20) == ' ' - "Float:%8.3f" %( ) == 'Float: ' # összesen 8 karakterre igazít, ponttal együtt t = {'Pal': 20, 'Peter': 19, 'Kata': 18} - "1: %(Pal)5d pont, 2: %(Peter)d pont, 3: %(Kata)d pont" %t == '1: pont, 2: 19 pont, 3: 18 pont'

21 Karaktersorozatok további műveletei Formázás
- "{0:4d} {1:<4d} {2:^4d}".format(10,20,30) == ' ' t = {'Pal': 20, 'Peter': 15, 'Kata': 12}, t2 = {'Judit': 10, 'Mikos': 8} - "1: {0[Pal]:5d} pont, 3: {0[Kata]:d} pont, 4: {1[Judit]:d} pont".format(t,t2) == '1: pont, 3: 12 pont, 4: 10 pont' - "1: {Pal:5d} pont, 2: {Peter:d} pont, 3: {Kata:d} pont".format(**t) == '1: pont, 2: 15 pont, 3: 12 pont' - s = "1: {Pal:5d} pont, 2: {Peter:d} pont, 3: {Kata:d} pont" s.format(Pal=20,Peter=15, Kata=12)

22 Karaktersorozatok további műveletei Használat
- for x in range(2,5) : print "{0:2d} {1:<2d} {2:^3d}".format(x, 3*x, x**x) Megjegyzés: beolvasás x = input() x = raw_input() # érték beolvasás # string beolvasás x + 4

23 Importálás más fájlokból
- import modulnév - változó hozzárendelések, függvény definíciók + végrehajtható kód - elérés: modulnév.függvénynév() - from modulnév import függvénynév, változónév - az adott változó hozzárendelés, függvény definíció + végrehajtható kód - elérés: függvénynév() - from modulnév import * - az "_"-al kezdődőeken kívül minden változó hozzárendelés, függvény definíció + végrehajtható kód

24 Importálás más fájlokból
Példaprogramok - imp1.py, ..., imp3.py


Letölteni ppt "Script nyelvek előadás"

Hasonló előadás


Google Hirdetések