GGORG revised this gist . Go to revision
4 files changed, 211 insertions
adresy.txt(file created)
| @@ -0,0 +1,3 @@ | |||
| 1 | + | [email protected]; | |
| 2 | + | [email protected]; | |
| 3 | + | [email protected]; | |
lem.txt(file created)
| @@ -0,0 +1,8 @@ | |||
| 1 | + | Apentuła niewdziosek, te będy gruwaśne | |
| 2 | + | W koć turmiela weprząchnie, kostrą bajtę spoczy, | |
| 3 | + | Oproszędły znimęci, wyświrle uwzroczy, | |
| 4 | + | A korśliwe porsacze dogremnie wyczkaśnie! | |
| 5 | + | Trzy, samołóż wywiorstne, gręzacz tęci wzdyżmy, | |
| 6 | + | Apelajda sękliwa browajkę kuci. | |
| 7 | + | Greni małopoleśny te przezławskie tryżmy, | |
| 8 | + | Aż bamba się odmurczy i goła powróci. | |
praca_z_plikami_cz1.py(file created)
| @@ -0,0 +1,129 @@ | |||
| 1 | + | # %% | |
| 2 | + | tekst = open('lem.txt', encoding='utf-8').readlines() | |
| 3 | + | ||
| 4 | + | # %% | |
| 5 | + | tekst | |
| 6 | + | ||
| 7 | + | # %% | |
| 8 | + | tekst = [] | |
| 9 | + | for wiersz in open('lem.txt', encoding='utf-8'): | |
| 10 | + | tekst.append(wiersz) | |
| 11 | + | ||
| 12 | + | # %% | |
| 13 | + | tekst = [wiersz.strip() for wiersz in open('lem.txt', encoding='utf-8')] | |
| 14 | + | tekst | |
| 15 | + | ||
| 16 | + | # %% | |
| 17 | + | plik = open('lem.txt', 'a', encoding='utf-8') | |
| 18 | + | print('\n\nKazimierz Wielki wpadł do butelki', file=plik) | |
| 19 | + | plik.close() | |
| 20 | + | ||
| 21 | + | # %% | |
| 22 | + | with open('lem.txt', 'a', encoding='utf-8') as plik: | |
| 23 | + | print('\n\n\n', file=plik) | |
| 24 | + | for _ in range(100): | |
| 25 | + | print('\nKazimierz Wielki wpadł do butelki', file=plik) | |
| 26 | + | ||
| 27 | + | # %% | |
| 28 | + | with open('lem.txt', mode='a', encoding='utf-8') as plik: | |
| 29 | + | plik.writelines(['Wanda, co nie chciała Niemca\n', 'Ale wolała Włocha']) | |
| 30 | + | ||
| 31 | + | # %% | |
| 32 | + | with open('lem.txt', 'r', encoding='utf-8' ) as plik: | |
| 33 | + | wiersz = plik.readline().strip() | |
| 34 | + | ||
| 35 | + | print(wiersz) | |
| 36 | + | print(wiersz.split()) | |
| 37 | + | ||
| 38 | + | # %% | |
| 39 | + | with open('adresy.txt', 'r', encoding='utf-8' ) as plik: | |
| 40 | + | tekst = plik.readlines() | |
| 41 | + | ||
| 42 | + | # usuń białe znaki | |
| 43 | + | tekst = [wiersz.strip() for wiersz in tekst] | |
| 44 | + | ||
| 45 | + | # usuń średniki | |
| 46 | + | metody = ('wycinek', 'replace') | |
| 47 | + | metoda = 'replace' | |
| 48 | + | if metoda == 'wycinek': | |
| 49 | + | tekst = [wiersz[:-1] for wiersz in tekst] | |
| 50 | + | elif metoda == 'replace': | |
| 51 | + | tekst = [wiersz.replace(';','') for wiersz in tekst] | |
| 52 | + | ||
| 53 | + | ||
| 54 | + | ||
| 55 | + | for i, mail in enumerate(tekst): | |
| 56 | + | prefiks, skrzynka = mail.split('@') | |
| 57 | + | print(f'Osoba numer {i+1} ma prefiks {prefiks} na skrzynce {skrzynka}') | |
| 58 | + | ||
| 59 | + | ||
| 60 | + | ||
| 61 | + | # %% | |
| 62 | + | for i in range(len(tekst)): | |
| 63 | + | prefiks, skrzynka = tekst[i].split('@') | |
| 64 | + | print(f'Osoba numer {i+1} ma prefiks {prefiks} na skrzynce {skrzynka}') | |
| 65 | + | ||
| 66 | + | # %% | |
| 67 | + | list(enumerate(tekst)) | |
| 68 | + | ||
| 69 | + | # %% | |
| 70 | + | import os | |
| 71 | + | os.getcwd() | |
| 72 | + | ||
| 73 | + | # %% | |
| 74 | + | sciezka = r"C:\Users\Nauczyciel\VS programy" | |
| 75 | + | print(sciezka) | |
| 76 | + | ||
| 77 | + | # %% | |
| 78 | + | os.listdir() | |
| 79 | + | ||
| 80 | + | # %% | |
| 81 | + | os.path.isdir('.venv'), os.path.isfile('.venv'), os.path.isfile('adresy.txt'), | |
| 82 | + | ||
| 83 | + | # %% | |
| 84 | + | list(os.scandir()) | |
| 85 | + | ||
| 86 | + | # %% [markdown] | |
| 87 | + | # ### `with` - *menedżer kontekstu* | |
| 88 | + | # #### Dlaczego `with` w tym miejscu, skoro nie ma z tego korzyści dla komputera? | |
| 89 | + | # | |
| 90 | + | # Bo <font color="green"> **kod źródłowy jest dla człowieka, nie dla komputera** </font> | |
| 91 | + | # | |
| 92 | + | # Dla człowieka takie użycie `with` jest podprogowym przekazem: wszystko co jest do zrobienia z katalogami ma być w obrębie tego fragmentu kodu, a nie gdzieś poza nim. | |
| 93 | + | # | |
| 94 | + | # Dobrą praktyką jest pisanie <font color="green"> *kodów samokomentujących się* </font>. | |
| 95 | + | # | |
| 96 | + | # Komentarze w kodzie mile widziane są tylko w książkach i artykułach demonstrujących użycie kodu, nie w prawdziwych projektach. | |
| 97 | + | ||
| 98 | + | # %% | |
| 99 | + | with os.scandir() as zawartosc_folder: | |
| 100 | + | for elem in zawartosc_folder: | |
| 101 | + | print(f'Katalog: {elem.name}') if elem.is_dir() else print(f'Plik: {elem.name}') | |
| 102 | + | ||
| 103 | + | ||
| 104 | + | # %% | |
| 105 | + | def relu(input): | |
| 106 | + | if input >= 0: | |
| 107 | + | return input | |
| 108 | + | else: | |
| 109 | + | return 0 | |
| 110 | + | ||
| 111 | + | # %% | |
| 112 | + | def relu(input): | |
| 113 | + | if input >= 0: | |
| 114 | + | return input | |
| 115 | + | return 0 | |
| 116 | + | ||
| 117 | + | # %% | |
| 118 | + | def relu(input): | |
| 119 | + | ||
| 120 | + | output = input if input >= 0 else 0 | |
| 121 | + | return output | |
| 122 | + | ||
| 123 | + | # %% | |
| 124 | + | '------'.join(tekst) | |
| 125 | + | ||
| 126 | + | # %% | |
| 127 | + | ||
| 128 | + | ||
| 129 | + | ||
praca_z_plikami_cz2.py(file created)
| @@ -0,0 +1,71 @@ | |||
| 1 | + | # %% [markdown] | |
| 2 | + | # ### Serializacja - pliki binarne | |
| 3 | + | ||
| 4 | + | # %% | |
| 5 | + | import pickle | |
| 6 | + | import numpy as np | |
| 7 | + | ||
| 8 | + | # %% | |
| 9 | + | tab = np.random.uniform(0,1, size=100) | |
| 10 | + | a, b = np.pi, np.exp(1) | |
| 11 | + | lista = ['Kawa', 'Czekolada', 'Dezodorant'] | |
| 12 | + | slownik = {'a': '1x', 'b': '4d', 'c': '9a'} | |
| 13 | + | ||
| 14 | + | # %% | |
| 15 | + | plik = open('plik.dat', 'wb') # w - write; b - binary | |
| 16 | + | pickle.dump(tab, plik) | |
| 17 | + | pickle.dump(a, plik) | |
| 18 | + | pickle.dump(b, plik) | |
| 19 | + | pickle.dump(lista, plik) | |
| 20 | + | pickle.dump(slownik, plik) | |
| 21 | + | plik.close() | |
| 22 | + | ||
| 23 | + | # %% | |
| 24 | + | plik = open('plik.dat', 'rb') # r - read; b - binary | |
| 25 | + | tab_z_pliku = pickle.load(plik) | |
| 26 | + | a_z_pliku = pickle.load(plik) | |
| 27 | + | b_z_pliku = pickle.load(plik) | |
| 28 | + | lista_z_pliku = pickle.load(plik) | |
| 29 | + | slownik_z_pliku = pickle.load(plik) | |
| 30 | + | plik.close() | |
| 31 | + | ||
| 32 | + | # %% [markdown] | |
| 33 | + | # ## W domu | |
| 34 | + | # | |
| 35 | + | # Napisz program, który zrobi to samo co wyżej, ale z użyciem pętli `for`, aby uniknąć "przeklejania kodu" | |
| 36 | + | ||
| 37 | + | # %% | |
| 38 | + | slownik_z_pliku | |
| 39 | + | ||
| 40 | + | # %% | |
| 41 | + | exec('print(2+3)') | |
| 42 | + | ||
| 43 | + | # %% | |
| 44 | + | wiek = int(input('Podaj wiek: ')) | |
| 45 | + | ||
| 46 | + | # %% | |
| 47 | + | wiek | |
| 48 | + | ||
| 49 | + | # %% | |
| 50 | + | wiek - 24 | |
| 51 | + | ||
| 52 | + | # %% | |
| 53 | + | import json | |
| 54 | + | ||
| 55 | + | plik = open('plik.json', 'w') | |
| 56 | + | ||
| 57 | + | json.dump(slownik, plik) | |
| 58 | + | ||
| 59 | + | plik.close() | |
| 60 | + | ||
| 61 | + | # %% | |
| 62 | + | plik = open('plik.json', 'r') | |
| 63 | + | ||
| 64 | + | slownik_z_json = json.load(plik) | |
| 65 | + | ||
| 66 | + | plik.close() | |
| 67 | + | ||
| 68 | + | # %% | |
| 69 | + | slownik_z_json | |
| 70 | + | ||
| 71 | + | ||