From 6fe851acd00010fd99e1e2c08cc00b80121c11c7 Mon Sep 17 00:00:00 2001 From: 4a32fd8b6f5813775baefd9a2c62103b <4a32fd8b6f5813775baefd9a2c62103b@app-learninglab.inria.fr> Date: Wed, 2 Sep 2020 11:56:30 +0000 Subject: [PATCH] Add stat computer for log files --- module2/exo4/exercice.ipynb | 106 +++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 3 deletions(-) diff --git a/module2/exo4/exercice.ipynb b/module2/exo4/exercice.ipynb index 0bbbe37..3170550 100644 --- a/module2/exo4/exercice.ipynb +++ b/module2/exo4/exercice.ipynb @@ -1,5 +1,106 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# A notebook that gives stats on the notes taken so far\n", + "\n", + "## Useful functions\n", + "\n", + "First, let's define a function that counts how many sections there is in a *log file* : " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "def count_sections(log_file):\n", + " with open(log_file, 'r') as fil: lines = fil.readlines()\n", + " s = 0\n", + " for line in lines : \n", + " if line[:1]=='# ': s += 1\n", + " return s" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Maybe I will add some other useful function later.\n", + "\n", + "Let's list all the *log files* :" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "There is 1 log file :\n", + "**Outils de prise de note :** \n", + "\n", + "\n", + "\n", + "- metalanguage Markdown\n", + "\n", + "- ReStructuredText for python\n", + "\n", + "\n", + "\n", + "**Organisation des données :**\n", + "\n", + "\n", + "\n", + "- TEI, est apparemment une sorte de norme permettant d'utiliser la même méthode de rangement de donnée même pour des dataset très différents\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "**Outils de gestion des fichier :**\n", + "\n", + "\n", + "\n", + "- docFetcher, pour chercher dans le contenu de plusieurs fichiers\n", + "\n", + "- exifttool, pour ajouter des metadonnées à un fichier\n", + "\n", + "\tmodule_1.md; contains 0 section.\n" + ] + } + ], + "source": [ + "import os\n", + "\n", + "log_dir = '../../journal/'\n", + "ignored_files = ['Readme.md']\n", + "log_files = [fil for fil in os.listdir(log_dir) if fil not in ignored_files]\n", + "\n", + "if len(log_files)<2 : print(\"There is {:d} log file :\".format(len(log_files)))\n", + "else: print(\"There are {:d} log files :\".format(len(log_files)))\n", + " \n", + "for fil in log_files: \n", + " n_sec = count_sections(log_dir + fil)\n", + " if n_sec <2 : print(\"\\t{:}; contains {:d} section.\".format(fil, n_sec))\n", + " else: print(\"\\t{:}; contains {:d} sections.\".format(fil, n_sec))\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +117,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } - -- 2.18.1