chargement...

Journal de bord
Semaine - 7

29/03

Xiaohua : "Avantage de yield."

Pendant le cours, on a étudié les scrpits du prof, qui utilise la fonction yield pour renvoyer un generateur. Par rapport à la fonction returnliste, c'est plus efficace et rapide.
Mais les scripts ne sont pas faciles à comprendre donc il faut du temps pour les apprendre et les concaténer avec les miens, comme c'est pas un copier-coller, pas tellement simple o(╥﹏╥)o.

31/03

Xiaohua:

J'ai fait une comparaison entre mes scripts et ceux avec yield pour voir la différence. J'utilise time pour regarder leur vitesse :
                /Users/xiaohua/opt/anaconda3/envs/macrun/bin/python3 pluri_extraire_xml.py 0.12s user 0.15s system 98% cpu 0.268 total
              
                /Users/xiaohua/opt/anaconda3/envs/macrun/bin/python3 extract_many_base.py -m 0.05s user 0.02s system 78% cpu 0.083 total
              
Donc le deuxième, avec la fonction yield, semble plus rapide et moins vorace au CPU. Ainsi, j'ai amélioré mes scripts d'après les contenus dans les corrigés. Mais j'ai aussi gardé les miens dans le dossier original scripts. Dans le nouveau script multi, (autrefois les fonctions souvent renvoie tout dans une liste, maintenant ils renvoyent les générateurs qui donnent les données avec des itérations.)

Problèmes rencontrés :

1. Difficile de savoir quelles parties à garder et à remplacer.
2. Ne savoir pas la nature des résultats d'un générateur. (J'ai utilisé la fonction next et type pour les identifier )
3. Il y a des articles bien particuliers : Ayant marché le scrpit sur des articles d'une période de 2 jours, j'ai élargi ma plage de recherche pour essayer de trouver des articles sur une période de trois mois, mais j'ai découvert que la variable "desc" est parfois "NoneType". Pour résoudre ce problème, je limite la période peu à peu pour trouver le texte brut:
<item><title><![CDATA[Le discours de François Sureau]]></title><pubDate>Sat, 05 Mar 2022 11:03:43 +0100</pubDate><description><![CDATA[]]></description>.....</item>
                  
Il y a des descriptions vides! Donc j'ai ajouté un if title and desc is not None:
Pour les exos de Xquery et d'annotations, il faut encore du temps.

02/04

Yingzi:

Après que le prof ait corrigé l'exercice 2 en classe, j'ai réalisé que je n'avais pas compris les consignes. J'ai développé mon code en utilisant le fichier sample.xml de l'exercice 1 comme objet de traitement, alors que le deuxième exercice nécessitait l'utilisation des fichiers du dossier nommé 2022 comme corpus. J'ai donc dû modifier à nouveau mon propre code pour le deuxième exercice en suivant la version corrigée par le prof en classe. En lisant la version révisée de l'exercice 2 de mon collègue Xiaohua, qui incorporait une partie de son code précédent ainsi que la version corrigée donnée par le prof, j'ai décidé de réaliser l'exercice 2bis en m'inspirant de la version de Xiaohua sur sa branche XC-s7.