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