{"id":1405,"date":"2020-12-07T11:30:47","date_gmt":"2020-12-07T10:30:47","guid":{"rendered":"http:\/\/labodemaths.fr\/WordPress3\/?p=1405"},"modified":"2020-12-07T15:07:23","modified_gmt":"2020-12-07T14:07:23","slug":"nsi-codage-de-cesar-lecture-et-ecriture-de-fichiers-txt-en-python","status":"publish","type":"post","link":"https:\/\/labodemaths.fr\/WordPress3\/nsi-codage-de-cesar-lecture-et-ecriture-de-fichiers-txt-en-python\/","title":{"rendered":"NSI, codage de cesar : lecture et ecriture de fichiers .txt en python"},"content":{"rendered":"\n<h3>1. Mise en place<\/h3>\n\n\n\n<p>Cr\u00e9er un dossier TP_codage_Cesar et y placer le fichier ci-dessous :<\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2020\/12\/texte_a_coder.txt\">texte_a_coder<\/a><a href=\"https:\/\/labodemaths.fr\/WordPress3\/wp-content\/uploads\/2020\/12\/texte_a_coder.txt\" class=\"wp-block-file__button\" download>T\u00e9l\u00e9charger<\/a><\/div>\n\n\n\n<p>Cr\u00e9er un fichier python nomm\u00e9 TP_codage_Cesar avec le code ci-dessous :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># ouvre un fichier situ\u00e9 dans le m\u00eame r\u00e9pertoire en mode lecture : read\nfichier = open(\"texte_a_coder.txt\", 'r') \nprint(fichier)\nfichier.close() # ne pas oublier de fermer le fichier<\/code><\/pre>\n\n\n\n<p>Enregistrer le programme dans votre dossier et tester le.<\/p>\n\n\n\n<h3>2. Acc\u00e9der au contenu et probl\u00e8me de codage.<\/h3>\n\n\n\n<p>Modifier votre programme en :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fichier = open(\"texte_a_coder.txt\", 'r')\nprint(fichier)\ncontenu=fichier.read() # on acc\u00e8de au contenu du fichier\nprint(contenu)\nfichier.close()\n    <\/code><\/pre>\n\n\n\n<p>On r\u00e9sout le probl\u00e8me d&rsquo;encodage :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>fichier = open(\"texte_a_coder.txt\", 'r',encoding='UTF-8')\nprint(fichier)\ncontenu=fichier.read() # on acc\u00e8de au contenu du fichier\nprint(contenu)\nfichier.close()<\/code><\/pre>\n\n\n\n<h3>3. On pr\u00e9f\u00e8re utiliser le with<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>with open('texte_a_coder.txt', 'r', encoding='UTF-8') as entree:\n    lignes=entree.readlines() # on lit toutes les lignes du fichier\n    print(lignes) # lignes est une liste un peu particuli\u00e8re\n    for ligne in lignes: # on parcourt les lignes du fichier\n        print(ligne)\n    <\/code><\/pre>\n\n\n\n<h3>4. On supprime les passages \u00e0 la ligne inutiles<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>with open('texte_a_coder.txt', 'r', encoding='UTF-8') as entree:\n    lignes=entree.readlines()\n    print(lignes)\n    for ligne in lignes:\n        ligne_a_coder=ligne.strip('\\n') # on supprime les renvois \u00e0 la ligne\n        print(ligne_a_coder)\n    <\/code><\/pre>\n\n\n\n<h3>5. on ouvre un fichier en \u00e9criture pour y coder le texte<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># avec les syst\u00e8mes Windows : cp1252.\ncle=2\n\ndef codage_cesar(txt,cle):\n    '''\n    txt : str\n    cle :int\n    return : txt cod\u00e9 selon un d\u00e9calage d\u00e9termin\u00e9 par la cl\u00e9\n    >>>codage_cesar(\"abAB\",2)\n    \"cdCD\"\n    '''\n    retour=\"\"\n    for caract in txt:\n        retour+=chr(ord(caract)+cle)\n    return retour\n\nwith open('texte_a_coder.txt', 'r', encoding='UTF-8') as entree:\n    with open('texte_code.txt', 'w', encoding='UTF-8') as sortie:\n        lignes=entree.readlines()\n        for ligne in lignes:\n            ligne_a_coder=ligne.strip('\\n')\n            sortie.write(codage_cesar(ligne_a_coder,cle)+\"\\n\")<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>1. Mise en place Cr\u00e9er un dossier TP_codage_Cesar et y placer le fichier ci-dessous :&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/labodemaths.fr\/WordPress3\/nsi-codage-de-cesar-lecture-et-ecriture-de-fichiers-txt-en-python\/\">Read the post<span class=\"screen-reader-text\">NSI, codage de cesar : lecture et ecriture de fichiers .txt en python<\/span><\/a><\/div>\n","protected":false},"author":2,"featured_media":1410,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[57],"tags":[],"_links":{"self":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/1405"}],"collection":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/comments?post=1405"}],"version-history":[{"count":3,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/1405\/revisions"}],"predecessor-version":[{"id":1411,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/posts\/1405\/revisions\/1411"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media\/1410"}],"wp:attachment":[{"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/media?parent=1405"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/categories?post=1405"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/labodemaths.fr\/WordPress3\/wp-json\/wp\/v2\/tags?post=1405"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}