Skip to content

Commit 6899b7b

Browse files
committed
smoother exec in file-formats
1 parent eeb9306 commit 6899b7b

File tree

13 files changed

+43
-47
lines changed

13 files changed

+43
-47
lines changed

notebooks/tps/files-formats/.teacher/README-files-formats-corrige-nb.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,13 @@ there are no difference - apart from this very cell - between the teacher and th
5858

5959
## les fichiers et l'OS
6060

61-
c'est quoi l'OS ?
61+
c'est quoi l'OS ?
6262

6363
- votre code ne cause **jamais directement** au harware
6464
- mais toujours au travers d'**abstractions exposées par l'OS**
6565
- parmi lesquelles, entre autres, la **notion de "fichier"**
6666

67-
```{image} operating_system_placement.png
67+
```{image} media/operating_system_placement.png
6868
:align: right
6969
:width: 250px
7070
```
@@ -81,14 +81,14 @@ c'est quoi l'OS ?
8181

8282
## lire un fichier simple
8383

84-
(le fichier `hello.txt` fait partie du zip)
84+
(le fichier `data/hello.txt` fait partie du zip)
8585

8686
+++
8787

8888
### ouverture d'un fichier
8989

9090
```{code-cell} ipython3
91-
f = open("hello.txt")
91+
f = open("data/hello.txt")
9292
```
9393

9494
- que se passe-t-il ?
@@ -98,7 +98,7 @@ f = open("hello.txt")
9898
```python
9999
# ça marche aussi; quelle différence ?
100100

101-
f = open("hello.txt", encoding="utf-8")
101+
f = open("data/hello.txt", encoding="utf-8")
102102
```
103103

104104
+++
@@ -107,7 +107,7 @@ f = open("hello.txt")
107107

108108
- analyser les types des différents objets
109109
```python
110-
type("hello.txt")
110+
type("data/hello.txt")
111111
type(f)
112112
```
113113
- avancer étape par étape
@@ -135,7 +135,7 @@ l'idiome à **toujours utiliser** pour lire un fichier texte
135135
```python
136136
# TOUJOURS lire ou écrire un fichier avec un with !
137137
138-
with open("hello.txt") as f:
138+
with open("data/hello.txt") as f:
139139
for line in f:
140140
print(line, end="")
141141
```
@@ -155,7 +155,7 @@ une autre approche consisterait à utiliser `line.rstrip()` qui enlève l'évent
155155
je dis éventuel car la dernière ligne ne contient pas toujours ce fameux *newline*; le monde est compliqué parfois...
156156
157157
**exercice**: dans *vs-code*, allez enlever le dernier *newline* (mettez vous à la fin du fichier et faites un *Delete*)
158-
et refaites tourner les 3 lignes ci-dessus; vous pouvez aussi regarder ce que donne `cat hello.txt` dans le terminal.
158+
et refaites tourner les 3 lignes ci-dessus; vous pouvez aussi regarder ce que donne `cat data/hello.txt` dans le terminal.
159159
````
160160

161161
+++
@@ -169,15 +169,15 @@ on va regarder dans les yeux deux fichiers texte:
169169
### ASCII
170170

171171
- installez l'extension vscode *Hex Editor*
172-
- regarder le contenu de `hello.txt` avec vs-code
172+
- regarder le contenu de `data/hello.txt` avec vs-code
173173
- utilisez *clic droit* -> *Open With* -> *Hex Editor*
174174
- comparez avec <https://www.rapidtables.com/code/text/ascii-table.html>
175175

176176
+++
177177

178178
### Unicode
179179

180-
faites pareil avec `bonjour.txt`
180+
faites pareil avec `data/bonjour.txt`
181181

182182
- que constatez-vous ?
183183
- voyez aussi <https://www.utf8-chartable.de/>
@@ -186,7 +186,7 @@ faites pareil avec `bonjour.txt`
186186

187187
## un fichier binaire
188188

189-
faites pareil avec `tiny.pickle`
189+
faites pareil avec `data/tiny.pickle`
190190

191191
- ouvrez-le "normalement"
192192
(pour l'instant sans utiliser la librairie `pickle`)
@@ -230,7 +230,7 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
230230
à faire:
231231

232232
- lisez la documentation du module `pickle`
233-
- essayez de lire le fichier `tiny.pickle`
233+
- essayez de lire le fichier `data/tiny.pickle`
234234
- inspectez les types des objets dans la donnée
235235

236236
+++
@@ -240,7 +240,7 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
240240
- partez de ce que vous venez de lire
241241
- modifiez certaines des données
242242
- sauvegardez-les dans un nouveau fichier
243-
`tiny-changed.pickle`
243+
`data/tiny-changed.pickle`
244244
- et relisez-le pour vérifier que "ça marche"
245245

246246
+++
@@ -249,7 +249,7 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
249249

250250
à vous de jouer
251251

252-
- on va refaire pareil à partir de `tiny.json`
252+
- on va refaire pareil à partir de `data/tiny.json`
253253
- lisez-la doc et écrivez le code qui lit ce fichier
254254
- modifiez la donnée lue, et sauvez-la
255255
- est-ce qu'on peut y mettre un ensemble ? ou un tuple ?
@@ -259,13 +259,13 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
259259
### encore un: yaml
260260

261261
- trouvez la doc de `PyYAML`
262-
- lisez le fichier `tiny.yaml`
262+
- lisez le fichier `data/tiny.yaml`
263263
- comment peut-on comparer avec JSON ?
264264

265265
```{admonition} et avec annotations ?
266266
267267
en option: par défaut le format YAML permet de stocker - comme JSON - les types communs aux autres langages,
268-
i.e. booléens, nombres, chaines, listes et dictionnaires; il est possible aussi de stocker des types un peu moins communs comme le tuple et l'ensemble, au prix d'une gymnastique déjà un peu oins facile d'accès; arrivez-vous à lire le fichier `small-annotated.yaml` ?
268+
i.e. booléens, nombres, chaines, listes et dictionnaires; il est possible aussi de stocker des types un peu moins communs comme le tuple et l'ensemble, au prix d'une gymnastique déjà un peu oins facile d'accès; arrivez-vous à lire le fichier `data/small-annotated.yaml` ?
269269
ça peut demander une plangée dans SO (stackoverflow)...
270270
271271
```
@@ -278,7 +278,7 @@ on recommence (c'est optionnel, si vous savez déjà lire un csv avec pandas)...
278278

279279
- lisez la documentation du module `csv`
280280
google `python module csv`
281-
- essayez de lire le fichier `pokemon.csv`
281+
- essayez de lire le fichier `data/pokemon.csv`
282282
- sauriez-vous créer une dataframe ?
283283
- version facile: avec `pd.read_csv()`
284284
- un peu moins simple: sans utiliser `pd.read_csv()`
@@ -295,10 +295,10 @@ pour cela, 2 armes
295295

296296
+++
297297

298-
### exercice: lisez `notes.txt`
298+
### exercice: lisez `data/notes.txt`
299299

300300
* sans importer de module additionnel,
301-
* lisez le fichier `notes.txt`
301+
* lisez le fichier `data/notes.txt`
302302
* créez et affichez un dictionnaire
303303
*nom élève* → note
304304

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../media
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,2 @@
11
README-files-format-nb.md
2-
hello.txt
3-
bonjour.txt
4-
tiny.pickle
5-
tiny.json
6-
tiny.yaml
7-
notes.txt
2+
data/

notebooks/tps/files-formats/README-files-formats-nb.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@ Licence CC BY-NC-ND, Thierry Parmentelat & Aurélien Noce
5050

5151
## les fichiers et l'OS
5252

53-
c'est quoi l'OS ?
53+
c'est quoi l'OS ?
5454

5555
- votre code ne cause **jamais directement** au harware
5656
- mais toujours au travers d'**abstractions exposées par l'OS**
5757
- parmi lesquelles, entre autres, la **notion de "fichier"**
5858

59-
```{image} operating_system_placement.png
59+
```{image} media/operating_system_placement.png
6060
:align: right
6161
:width: 250px
6262
```
@@ -73,14 +73,14 @@ c'est quoi l'OS ?
7373

7474
## lire un fichier simple
7575

76-
(le fichier `hello.txt` fait partie du zip)
76+
(le fichier `data/hello.txt` fait partie du zip)
7777

7878
+++
7979

8080
### ouverture d'un fichier
8181

8282
```{code-cell} ipython3
83-
f = open("hello.txt")
83+
f = open("data/hello.txt")
8484
```
8585

8686
- que se passe-t-il ?
@@ -90,7 +90,7 @@ f = open("hello.txt")
9090
```python
9191
# ça marche aussi; quelle différence ?
9292

93-
f = open("hello.txt", encoding="utf-8")
93+
f = open("data/hello.txt", encoding="utf-8")
9494
```
9595

9696
+++
@@ -99,7 +99,7 @@ f = open("hello.txt")
9999

100100
- analyser les types des différents objets
101101
```python
102-
type("hello.txt")
102+
type("data/hello.txt")
103103
type(f)
104104
```
105105
- avancer étape par étape
@@ -127,7 +127,7 @@ l'idiome à **toujours utiliser** pour lire un fichier texte
127127
```python
128128
# TOUJOURS lire ou écrire un fichier avec un with !
129129
130-
with open("hello.txt") as f:
130+
with open("data/hello.txt") as f:
131131
for line in f:
132132
print(line, end="")
133133
```
@@ -147,7 +147,7 @@ une autre approche consisterait à utiliser `line.rstrip()` qui enlève l'évent
147147
je dis éventuel car la dernière ligne ne contient pas toujours ce fameux *newline*; le monde est compliqué parfois...
148148
149149
**exercice**: dans *vs-code*, allez enlever le dernier *newline* (mettez vous à la fin du fichier et faites un *Delete*)
150-
et refaites tourner les 3 lignes ci-dessus; vous pouvez aussi regarder ce que donne `cat hello.txt` dans le terminal.
150+
et refaites tourner les 3 lignes ci-dessus; vous pouvez aussi regarder ce que donne `cat data/hello.txt` dans le terminal.
151151
````
152152

153153
+++
@@ -161,15 +161,15 @@ on va regarder dans les yeux deux fichiers texte:
161161
### ASCII
162162

163163
- installez l'extension vscode *Hex Editor*
164-
- regarder le contenu de `hello.txt` avec vs-code
164+
- regarder le contenu de `data/hello.txt` avec vs-code
165165
- utilisez *clic droit* -> *Open With* -> *Hex Editor*
166166
- comparez avec <https://www.rapidtables.com/code/text/ascii-table.html>
167167

168168
+++
169169

170170
### Unicode
171171

172-
faites pareil avec `bonjour.txt`
172+
faites pareil avec `data/bonjour.txt`
173173

174174
- que constatez-vous ?
175175
- voyez aussi <https://www.utf8-chartable.de/>
@@ -178,7 +178,7 @@ faites pareil avec `bonjour.txt`
178178

179179
## un fichier binaire
180180

181-
faites pareil avec `tiny.pickle`
181+
faites pareil avec `data/tiny.pickle`
182182

183183
- ouvrez-le "normalement"
184184
(pour l'instant sans utiliser la librairie `pickle`)
@@ -222,7 +222,7 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
222222
à faire:
223223

224224
- lisez la documentation du module `pickle`
225-
- essayez de lire le fichier `tiny.pickle`
225+
- essayez de lire le fichier `data/tiny.pickle`
226226
- inspectez les types des objets dans la donnée
227227

228228
+++
@@ -232,7 +232,7 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
232232
- partez de ce que vous venez de lire
233233
- modifiez certaines des données
234234
- sauvegardez-les dans un nouveau fichier
235-
`tiny-changed.pickle`
235+
`data/tiny-changed.pickle`
236236
- et relisez-le pour vérifier que "ça marche"
237237

238238
+++
@@ -241,7 +241,7 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
241241

242242
à vous de jouer
243243

244-
- on va refaire pareil à partir de `tiny.json`
244+
- on va refaire pareil à partir de `data/tiny.json`
245245
- lisez-la doc et écrivez le code qui lit ce fichier
246246
- modifiez la donnée lue, et sauvez-la
247247
- est-ce qu'on peut y mettre un ensemble ? ou un tuple ?
@@ -251,13 +251,13 @@ dans `open(name, 'rb')` le `r` est pour *read* et le `b` pour *binary*
251251
### encore un: yaml
252252

253253
- trouvez la doc de `PyYAML`
254-
- lisez le fichier `tiny.yaml`
254+
- lisez le fichier `data/tiny.yaml`
255255
- comment peut-on comparer avec JSON ?
256256

257257
```{admonition} et avec annotations ?
258258
259259
en option: par défaut le format YAML permet de stocker - comme JSON - les types communs aux autres langages,
260-
i.e. booléens, nombres, chaines, listes et dictionnaires; il est possible aussi de stocker des types un peu moins communs comme le tuple et l'ensemble, au prix d'une gymnastique déjà un peu oins facile d'accès; arrivez-vous à lire le fichier `small-annotated.yaml` ?
260+
i.e. booléens, nombres, chaines, listes et dictionnaires; il est possible aussi de stocker des types un peu moins communs comme le tuple et l'ensemble, au prix d'une gymnastique déjà un peu oins facile d'accès; arrivez-vous à lire le fichier `data/small-annotated.yaml` ?
261261
ça peut demander une plangée dans SO (stackoverflow)...
262262
263263
```
@@ -270,7 +270,7 @@ on recommence (c'est optionnel, si vous savez déjà lire un csv avec pandas)...
270270

271271
- lisez la documentation du module `csv`
272272
google `python module csv`
273-
- essayez de lire le fichier `pokemon.csv`
273+
- essayez de lire le fichier `data/pokemon.csv`
274274
- sauriez-vous créer une dataframe ?
275275
- version facile: avec `pd.read_csv()`
276276
- un peu moins simple: sans utiliser `pd.read_csv()`
@@ -287,10 +287,10 @@ pour cela, 2 armes
287287

288288
+++
289289

290-
### exercice: lisez `notes.txt`
290+
### exercice: lisez `data/notes.txt`
291291

292292
* sans importer de module additionnel,
293-
* lisez le fichier `notes.txt`
293+
* lisez le fichier `data/notes.txt`
294294
* créez et affichez un dictionnaire
295295
*nom élève* → note
296296

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

notebooks/tps/files-formats/operating_system_placement.png renamed to notebooks/tps/files-formats/media/operating_system_placement.png

File renamed without changes.

0 commit comments

Comments
 (0)