Skip to content

Commit 2a71077

Browse files
committed
replace %cat with {literalinclude}
1 parent 11e286e commit 2a71077

File tree

6 files changed

+52
-57
lines changed

6 files changed

+52
-57
lines changed

notebooks/101/03-files-and-strings.md

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,23 +40,14 @@ with open("tmp-names.txt", 'w') as writer:
4040
print("Charlie", file=writer)
4141
```
4242

43-
si vous faites tourner ça sur votre ordi, vous devez constater la présence d'un nouveau fichier `tmp-names.txt` dans votre explorateur de fichier; et dedans nous avons écrit trois lignes avec les 3 noms
43+
si vous faites tourner ça sur votre ordi, vous devez constater la présence d'un
44+
nouveau fichier `tmp-names.txt` dans votre explorateur de fichier; et dedans
45+
nous avons écrit trois lignes avec les 3 noms:
4446

45-
```{code-cell} ipython3
46-
# ceci est juste pour vérifier le contenu du fichier qu'on vient de créer
47-
# le %cat est de nouveau une magic IPython - ne marchera pas dans python 'tout court'
48-
49-
%cat tmp-names.txt
47+
```{literalinclude} tmp-names.txt
48+
:caption: pour vérifier le contenu du fichier qu'on vient de créer
5049
```
5150

52-
````{admonition} c'est quoi cat ?
53-
54-
`cat` est une commande du terminal Unix qui concatène le contenu de plusieurs fichiers
55-
comme on n'en donne qu'un seul, la commande affiche le contenu de ce fichier
56-
57-
et on y trouve bien ce à quoi on s'attendait
58-
````
59-
6051
+++
6152

6253
### que retenir ?

notebooks/101/04-exos-bases.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,16 @@ nbhosting:
2323

2424
+++
2525

26-
Voici un nouveau fichier de données
26+
Voici un nouveau fichier de données `data-students.txt` qui contient
2727

28-
```{code-cell} ipython3
29-
%cat data-students.txt
28+
```{literalinclude} data-students.txt
29+
:linenos:
30+
```
31+
32+
```{admonition} pour le créer sur votre ordi
33+
mettez votre souris dans le fichier ci-dessus
34+
cela affiche une icone 'copier' dans le coin en haut à gauche
35+
copiez le contenu créez le fichier avec par exemple vs-code
3036
```
3137

3238
On vous demande d'écrire un programme qui produit ce texte

notebooks/101/05-print-vs-return.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ dit autrement, la logique de Python dans ce mode c'est
8181

8282
je vous montre la différence avec ce programme totalement bidon
8383

84-
```{code-cell} ipython3
85-
%cat run_or_repl.py
84+
```{literalinclude} run_or_repl.py
8685
```
8786

8887
#### normal run

notebooks/5-6-type-hints-nb.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,16 +83,18 @@ ajouter('abc', 'def')
8383
%pip install mypy
8484
```
8585

86-
```{code-cell} ipython3
87-
# avec ce fichier source
86+
du coup avec ce fichier source
8887

89-
%cat samples/typehints.py
88+
```{literalinclude} samples/typehints.py
89+
:caption: dans le dossier `samples/`
90+
:linenos:
91+
:emphasize-lines: 3,8
9092
```
9193

92-
```{code-cell} ipython3
93-
# on obtient ces diagnostics d'erreur sans avoir besoin d'exécuter
94-
# ce qui signifie qu'on peut le faire AVANT même de faire les tests
94+
on obtient ces diagnostics d'erreur sans avoir besoin d'exécuter
95+
ce qui signifie qu'on peut le faire AVANT même de faire les tests
9596

97+
```{code-cell} ipython3
9698
!mypy samples/typehints.py
9799
```
98100

notebooks/6-1-modules-nb.md

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ un module, c’est principalement juste un espace de noms
6666
c’est grâce à ces différents espaces de noms que deux fichiers `foo.py` et `bar.py` peuvent tous les deux définir la même variable `tutu` sans que ça pose le moindre problème de les utiliser tous les deux dans la même application
6767
````
6868

69-
+++
69+
+++ {"slideshow": {"slide_type": ""}, "tags": []}
7070

7171
### c'est quoi un module ?
7272

@@ -77,15 +77,12 @@ c’est grâce à ces différents espaces de noms que deux fichiers `foo.py` et
7777
* les différents composants du code sont alors accessibles **comme un attribut** du module
7878
(c'est à dire les variables qui sont définis au *toplevel* dans le fichier source)
7979

80-
```{code-cell} ipython3
81-
---
82-
slideshow:
83-
slide_type: ''
84-
tags: []
85-
---
86-
# regardons ce qu'il y a dans ce fichier source
8780

88-
!cat mod.py
81+
regardons ce qu'il y a dans ce fichier `mod.py`
82+
83+
```{literalinclude} mod.py
84+
:linenos:
85+
:emphasize-lines: 5, 9
8986
```
9087

9188
```{code-cell} ipython3
@@ -356,7 +353,7 @@ principalement deux choses:
356353
typiquement fonctions, classes, variables globales au module
357354
et les ranger dans les attributs du module
358355

359-
2. affecter la variable locale - comme on l'a vu plus haut
356+
2. affecter la variable locale - comme on l'a vu plus haut
360357

361358
+++
362359

@@ -519,10 +516,9 @@ un module peut avoir deux rôles
519516

520517
chaque module a un attribut `__name__` qui est défini par l’import
521518

522-
```{code-cell} ipython3
523-
:tags: [gridwidth-1-2]
524-
525-
%cat toplevel.py
519+
```{literalinclude} toplevel.py
520+
:linenos:
521+
:emphasize-lines: 1, 3
526522
```
527523

528524
```{code-cell} ipython3
@@ -532,7 +528,7 @@ import toplevel
532528
print(toplevel.__name__)
533529
```
534530

535-
#### `if __name__ == "__main__"`
531+
#### l'idiome `if __name__ == "__main__"`
536532

537533
sauf que, si le module est le point d'entrée (on l'a lancé avec `python foo.py`), alors son exécution n’est pas le résultat d’un import
538534
... et du coup dans ce cas-là on ne trouve pas dans `__name__` ce qu'on pourrait attendre (`foo`) mais la chaine standard `__main__`
@@ -547,10 +543,10 @@ if __name__ == '__main__':
547543

548544
voici un exemple
549545

550-
```{code-cell} ipython3
551-
:tags: [gridwidth-1-2]
552-
553-
%cat samples/fib.py
546+
```{literalinclude} samples/fib.py
547+
:linenos:
548+
:caption: dans le dossier `samples/`
549+
:emphasize-lines: 3
554550
```
555551

556552
```{code-cell} ipython3
@@ -640,8 +636,6 @@ def f():
640636
f()
641637
```
642638

643-
+++ {"slideshow": {"slide_type": "slide"}, "tags": []}
644-
645639
### recharger un module
646640

647641
on a vu plus haut comment configurer IPython pour pouvoir travailler efficacement depuis `ipython` ou un notebook
@@ -650,8 +644,9 @@ en général c'est suffisant, mais si nécessaire on peut aussi utiliser le modu
650644

651645
voici un exemple complet
652646

653-
```{code-cell} ipython3
654-
%cat toplevel.py
647+
```{literalinclude} toplevel.py
648+
:linenos:
649+
:emphasize-lines: 1, 3
655650
```
656651

657652
```{code-cell} ipython3

notebooks/7-4-argparse-nb.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,10 @@ Python permet de retrouver la commande de lancement du point d'entrée au traver
6767

6868
considérons pour commencer le programme suivant
6969

70-
```{code-cell} ipython3
71-
# %cat est une 'magic' de IPythion
72-
# qui permet d'afficher le contenu de fact_sysargv.py
73-
74-
%cat samples/fact_sysargv.py
70+
```{literalinclude} samples/fact_sysargv.py
71+
:caption: dans le dossier `samples/`
72+
:linenos:
73+
:emphasize-lines: 11,14
7574
```
7675

7776
```{code-cell} ipython3
@@ -132,15 +131,18 @@ vous pouvez regarder le code de `fact_sysargv2.py` pour voir comment on a implé
132131

133132
on ne va pas ici entrer dans les détails, mais simplement montrer le code qui se comporterait comme `fact_sysargv2`.py
134133

135-
```{code-cell} ipython3
136-
%cat samples/fact_argparse.py
134+
```{literalinclude} samples/fact_argparse.py
135+
:caption: dans le dossier `samples/`
136+
:linenos:
137+
:emphasize-lines: 2, 9, 12, 13, 14, 16, 20, 24, 25
138+
137139
```
138140

139141
ce code peut sembler un peu plus bavard que tout à l'heure; mais d'abord il donne un programme plus agréable à utiliser
140142

141143
```{code-cell} ipython3
142-
# si on ne passe pas les paramètres imposés,
143-
# le programme ne fait rien,
144+
# si on ne passe pas les paramètres imposés,
145+
# le programme ne fait rien,
144146
# mais il nous explique comment on aurait dû l'appeler
145147
146148
! python samples/fact_argparse.py

0 commit comments

Comments
 (0)