Partage
  • Partager sur Facebook
  • Partager sur Twitter

programme de traduction

Sujet résolu
    18 novembre 2021 à 16:26:18

    1 - j'ai crée un fichier texte sous le nom indiqué piar.json

    2 - je l'ai remplis de cette simple ligne : {"homme": "akvi", "femme": "akva"}

    3 - Je l'ai mis dans le même répertoire que mon programme

    4 - j'ai copié/collé votre programme sans le modifier

    5 - j'ai lancé votre programme

    Conclusion -->

    Ai-je fais quelque chose de mauvais ?

    -
    Edité par LucienDeRubènprey 18 novembre 2021 à 16:52:20

    • Partager sur Facebook
    • Partager sur Twitter
      18 novembre 2021 à 16:46:15

      Otes-moi d'un doute: tu as bien créé un nouveau fichier Python avec mon code dedans ?

      Et tu as bien créé un nouveau ficher texte piar.json dans le même répertoire comme je te le disais ?

      -
      Edité par Phil_1857 18 novembre 2021 à 16:49:08

      • Partager sur Facebook
      • Partager sur Twitter
        18 novembre 2021 à 17:02:10

        Alors je l'avais mis dans le même répertoire, le fichier texte piar.json avec la ligne : {"homme": "akvi", "femme": "akva"}

        Comme ci-dessous(3) :

        Je pense que mon erreur se situé dans le fait que j'avais mis d'autres programme python dans le répertoire;

        voir photo (1) pour dossier actuel

        Cependant il y a toujours cette erreur (2):

        ce qui est bizarre puisque ce fichier làexiste !!!!!!


        -
        Edité par LucienDeRubènprey 18 novembre 2021 à 17:11:48

        • Partager sur Facebook
        • Partager sur Twitter
          18 novembre 2021 à 19:33:51

          notepad pour créer un fichier texte simple (json) c'est tellement moins lourd que Writer et équivalent.

          Le problème ici c'est le chemin du fichier qui n'est pas celui que tu penses. si tu mets le chemin complet, ça fonctionnera

          import os
          print(os.getcwd())
          print(os.path.dirname(__file__))
          



          • Partager sur Facebook
          • Partager sur Twitter
            19 novembre 2021 à 9:29:38

            Bonjour,

            Moi aussi, j'ai un tas de programmes dans le même répertoire et ca fonctionne parfaitement, même sans indiquer le chemin du fichier

            sur ton image, on voit que tu as mis tout ça dans Phil trad, et pourtant, dans le message d'erreur, le chemin est différent:

            d:\usr\red computer\desktop\...............

            donc le code que tu exécute n'est pas celui qui est dans Phil trad

            Essaie d'exécuter en double-cliquant directement sur le fichier py qui est dans Phil trad

            ou bien (et c'est même mieux)

            met le chemin dans la variable qui contient le nom du fichier, chez moi, ça donne:

             j_file = 'C:\\Phil\\Python\\tests\\piar.json'

            -
            Edité par Phil_1857 19 novembre 2021 à 9:31:11

            • Partager sur Facebook
            • Partager sur Twitter
              19 novembre 2021 à 10:26:40

              Pouvez-vous me donner une image ( j'ai une compréhension visuelle) pour mettre le chemin dans la variable qui contient le nom du fichier py qui est dans phil trad?

              • Partager sur Facebook
              • Partager sur Twitter
                19 novembre 2021 à 11:05:16

                Ben en fait, c'est comme l'exemple de mon message précédent:

                mon fichier piar.py étant dans mon répertoire test, il suffit de mettre le chemin complet du fichier:

                import tkinter as tk	
                import json
                
                j_file = 'C:\\Phil\\Dev\\Python\\tests\\piar.json'
                

                Par contre, je me pose une question: je crois que tu utilise IDLE, c'est bien ça ?

                Est-ce que, par hasard, tu ne ferais pas un copier/coller du contenu de ton fichier dans l'éditeur IDLE pour l'exécuter ?

                Et donc tu exécute une nouvelle instance du code mais pas le fichier qui est dans Phil trad, d'où l'erreur ...

                ce n'est pas la bonne méthode du tout !

                Normalement, si tu fais un clic droit sur ton fichier, tu devrais voir ceci:

                Et là, tu va vraiment éditer le fichier qui est dans Phil trad, et l'exécuter



                • Partager sur Facebook
                • Partager sur Twitter
                  19 novembre 2021 à 12:27:02

                  Il sert à quoi de toute façon le fichier json ? Je ne comprends pas du tout comment faire. Car j'ai le fichier, j'ai le programme, j'ai nommé correctement le fichier !!!!! On m'affiche dans ton programme ce message Mais je ne comprends pas car ce fichier là existe !!! En revanche je ne peux pas l'ouvrir (piar.json) peut-être je n'ai pas une appli nécessaire ...
                  • Partager sur Facebook
                  • Partager sur Twitter
                    19 novembre 2021 à 13:12:31

                    Tu plaisantes, la ??????

                    Je lis dans ton message d'erreur :

                    no such file or directory : 'C:\\Phil\\dev........'

                    tu as recopié bêtement le chemin de mon ordi au lieu d'y mettre le tiens !

                    Et j'y vois aussi que le chemin vers le programme n'est pas celui de Phil trad, donc tu ne

                    tiens pas compte de ce que je te raconte

                    Ceci dit le fichier json doit être un simple fichier texte pur, créé avec Notepad, par exemple

                    Et il sert à stocker le dictionnaire lorsque le programme est fermé, tout simplement

                    Car lorsqu'un programme se termine, quel que soit le langage, les variables sont détruites de la mémoire

                    la seule façon de conserver les données, c'est de les écrire dans un fichier texte, et de le relire lorsque qu'on relance le programme

                    Tu dis que tu n'arrive pas à ouvrir piar.json, pourtant tu l'as créé, non ?

                    -
                    Edité par Phil_1857 19 novembre 2021 à 13:15:45

                    • Partager sur Facebook
                    • Partager sur Twitter
                      19 novembre 2021 à 14:44:37

                      je vais me citer:

                      umfred a écrit:

                      notepad pour créer un fichier texte simple (json) c'est tellement moins lourd que Writer et équivalent.

                      Le problème ici c'est le chemin du fichier qui n'est pas celui que tu penses. si tu mets le chemin complet, ça fonctionnera

                      import os
                      print(os.getcwd())
                      print(os.path.dirname(__file__))
                      



                      Met le chemin os.path.dirname(__file__) devant le nom de ton fichier

                      j_file = os.path.dirname(__file__) + '/piar.json'



                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 novembre 2021 à 11:20:31

                        Bonjour Umfred,

                        Tu as parfaitement raison, mais je pense que Lucien ne maitrise pas tout

                        Si tu regardes le chemin du code Python dans le message d'erreur, tu vois que ce n'est pas celui de son répertoire Phil trad (voir son image plus haut)

                        Il y a surement une mauvaise manip' avec IDLE (voir mon message d'hier à 11h05)

                        Chez moi, c'est très simple:  j'ai les fichiers .pyw et .json dans mon répertoire test, je double-clique sur le fichier .pyw, le programme s'exécute et lit le fichier .json, et évidemment, je n'ai pas mis le chemin dans le code puisque tout est dans le même répertoire, tout ça est très basique

                        Après, on peut toujours discuter là-dessus, mais dans un premier temps, il faudrait qu'il fasse fonctionner le code pour comprendre ce problème de persistance des données, on verra après pour l'aspect plus pro ...

                        Ceci dit, je ne connais pas Writer, mais si c'est un outil de bureautique comme Word, ça ne doit pas être du simple texte ascii, et effectivement, Notepad serait plus judicieux pour le fichier json

                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 novembre 2021 à 11:32:23

                          Holà Lucien,

                          Peux-tu expliquer comment tu fais exactement pour exécuter un code Python?

                          -
                          Edité par Phil_1857 21 novembre 2021 à 11:34:36

                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 novembre 2021 à 16:45:23

                            Alors, j'ai pris connaissance de mon erreur (très bête évidemment) voici la ligne que j'ai modifié alors :

                            j_file ='C:\\desktop\\Philtrad\\piar.json'

                            ça m"affiche toujours cependant la même erreur, alors que j'ai bien introduit les bonne directions il me semble...

                            Cette partie du programme je la trouve très compliqué.

                            Je fais mon code sur mu. Puis je le lance. Des fois je le lance sur python 3.10 mais je suis un peu perdu...

                            Et oui j'ai bien crée le fichier writer piar.json .

                            Il y'a deux solutions :

                            1) la plus compliquée, où j'essaye de réussir à le faire de mon côté grâce à votre aide

                            2) la plus simple, où tu le transforme en exe, et tu me l'envoies.

                            Merci encore de votre aide

                            • Partager sur Facebook
                            • Partager sur Twitter
                              21 novembre 2021 à 21:08:36

                              Bonsoir,

                              Je vois que tu as écrit:

                              j_file ='C:\\desktop\\Philtrad\\piar.json'

                              or, je crois voir sur ton image qu'il y a un espace entre Phil et trad, non ?

                              ce serait donc plutot:

                              j_file ='C:\\desktop\\Phil trad\\piar.json'

                              D'autre part, ton fichier piar.json, n'est pas un fichier texte, il faut que tu l'efface

                              Ensuite, tu crée un nouveau fichier avec Notepad, tu y écris le dictionnaire, et tu le nomme piar.json

                              Je ne vois pas d'où tu sort qu'avec un exe ca ira mieux, ce sera exactement pareil

                              Fais déjà ce que je viens de t'expliquer et dis moi ce que ça donne ...

                              Et ensuite, tu enregistre dans le bon dossier avec le nom piar.json

                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 novembre 2021 à 13:18:59

                                non non non: "c:\desktop\Philtrad" ne doit pas existé, sinon tu n'aurai pas de message d'erreurs. Tape ce chemin dans la barre d'adresse de ton explorateur de fichier pour vérifier (ou mieux clic dans la barre d'adresse de ton explorateur de fichier là où se trouve ton fichier et recopie cette adresse dans ton code). Et en effet comme le souligne Phil, tu as un espace entre Phil et trad

                                Et pour compléter Phil, pour l'enregistrement du json avec le bloc-notes, bien choisir "tous les fichiers (*.*)" dans le type, pour pouvoir y ajouter .json à la fin (tu peux le créer avec ton éditeur python aussi si tu préfères)

                                Et pour éviter les erreurs, activer "toujours afficher les extensions des fichiers connus" dans les options des dossiers > https://www.pcastuces.com/pratique/astuces/4584.htm 

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  22 novembre 2021 à 14:15:22

                                  Holà Umfred,

                                  De plus Lucien utilise l'éditeur Mu pour Python pour créer ses fichiers, et les enregistrer sur le disque donc le fait qu'un fichier .py ou .pyw soit un simple fichier texte est transparent pour lui, cette notion de fichier ascii ou de fichier binaire style Word lui échappe

                                  C'est pour ça qu'il a créé son .json avec Writer, ce qui ne convient évidemment pas

                                  A part ça, et en tant que "vieux de la vieille" j'ai envie d'ajouter que je ne met jamais d'espaces dans mes noms de dossiers ou de fichiers

                                  j'utilise l'underscore: Phil_trad  :-)

                                  -
                                  Edité par Phil_1857 22 novembre 2021 à 14:20:14

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    23 novembre 2021 à 10:07:46

                                    Bonjour Lucien,

                                    Alors, as-tu essayé ce que je te proposais ?

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      25 novembre 2021 à 10:16:04

                                      Hello !

                                      Alors, toujours rien ?

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        25 novembre 2021 à 12:51:36

                                        Bonjour,

                                        J'ai modifié le problème d'espace et j'ai crée le fichier piar.json sur bloc notes.

                                        Je ne comprends vraiment pas pourquoi ça ne marche pas  !!!!!

                                        Pourtant j'ai l'impression d'avoir rectifié mes erreurs...

                                        Voici ce que j'ai fait :

                                        j_file ='C:\\desktop\\Philtrad\\piar.json'

                                        puis,

                                        piar.json est sous forme de bloc notes, où j'ai intégré le dictionnaire de base.

                                        Au pire, pourrez vous me l'envoyer sous forme de exe ??? Parce que là je n'arrive pas du tout...

                                        Merci beaucoup

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          25 novembre 2021 à 13:22:43

                                          Bonjour, sur ta capture on voit le premier fichier avec ce que l'on pourrait croire une extension, et le deuxième sans extension. Ce qui n'est pas normal.

                                          Afficher le nom des extensions dans l'explorateur de fichier pour y voir le nom réel.

                                          umfred a écrit:

                                          Et pour éviter les erreurs, activer "toujours afficher les extensions des fichiers connus" dans les options des dossiers > https://www.pcastuces.com/pratique/astuces/4584.htm 



                                          -
                                          Edité par AbcAbc6 25 novembre 2021 à 13:23:00

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            25 novembre 2021 à 13:31:16

                                            Comme je te le disais un exe ne changera rien

                                            Par contre, en regardant ton image, on voit que piar possède l'extension .json affichée et traducteur n'a pas son extension affichée

                                            donc tu es sur l'option de fichiers : masquer les extensions des fichiers et donc piar possède surement 2 extensions, d'où problème

                                            Démonstration:

                                            Avec extensions masquées, ca ressemble à ce que tu as :

                                            Avec extensions non masquées piar à 2 extensions !:

                                            Donc peux-tu aller dans les options d'affichage et décocher la case "Masquer les extensions ....."

                                            et montrer ce que ça donne ?

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              25 novembre 2021 à 15:47:12

                                              Pas forcément besoin d'utiliser json, un simple fichier txt peut aussi faire l'affaire, il faudra que tu apprennes à manipuler ce genre de fichier pour sauvegarder ton dictionnaire.


                                              Un exemple pour accéder au dico :

                                              >>> import os
                                              >>> path = os.path.expanduser(r'~\Desktop\Dictionnaire.txt')
                                              >>> file = open(path, 'r')
                                              >>> contenu = file.read()
                                              >>> file.close()
                                              >>> dico = dict([(element.split(':')[0],element.split(':')[1]) for element in contenu.split()])
                                              >>> dico
                                              {'Homme': 'Akvi', 'Femme': 'Akva', 'Chien': 'Aka'}
                                              >>> reverse_dico = dict([(element.split(':')[1],element.split(':')[0]) for element in contenu.split()])
                                              >>> reverse_dico
                                              {'Akvi': 'Homme', 'Akva': 'Femme', 'Aka': 'Chien'}


                                              Si tu ne connais pas la compréhension de liste, tu peux remplacer la 6ème ligne par ça :

                                              >>> dico = {}
                                              >>> for line in contenu.split():
                                              	fr, piar = line.split(':')
                                              	dico[fr]=piar

                                              Il existe 2 méthodes pour écrire/lire dans un fichier :

                                              Celle que j'utilise dans mon exemple : https://www.w3schools.com/python/python_file_write.asp
                                              La méthode avec with que l'on préfèrera souvent : https://docs.python.org/fr/3/tutorial/inputoutput.html




                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                25 novembre 2021 à 16:21:42

                                                le problème est toujours le même en fait, desktop (si c'est ton bureau) ne se trouve pas directement à la racine du disque dur.

                                                il se trouve en général, dans c:\users\[nomutilisateur]\desktop

                                                Mais pour ton cas, sur tes captures, le traceback (les messages d'erreurs) montre que ton script exécuté "traducteur finale final 2.0.py" se situe dans "d:\users\red computer\desktop\projetpython\"

                                                si ton json est au même endroit, il faut mettre le même chemin.

                                                Sinon, maintenir la touche MAJ et faire un clic droit sur le fichier json, et choisir "copier en tant que chemin d'accès" et enfin coller (CTRL+V) dans ton éditeur python ce chemin, il restera à doubler les \ (ou les transformer en / selon)

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  25 novembre 2021 à 16:46:30

                                                  Hola Erispoe

                                                  Ne le complique plus que ça :-) :-)

                                                  il a déjà du mal à s'en sortir avec tout ces trucs de fichiers (ascii ou binaire, extension ou pas, etc ...)

                                                  ce que tu lui raconte, c'est pour dans un 2eme temps, lorsqu'il aura fait marcher le code correctement tel qu'il est

                                                  Dans un 1er temps: afficher les extensions pour se rendre compte que piar.json s'appelle surement piar.json.txt

                                                  Ensuite, après correction, il restera à exécuter le fichier qui est dans le répertoire Philtrad

                                                  alors Lucien, as-tu affiché les extensions des fichiers ? ca donne quoi ?

                                                  -
                                                  Edité par Phil_1857 25 novembre 2021 à 16:51:00

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    25 novembre 2021 à 17:34:36

                                                    Phil_1857 a écrit:

                                                    Dans un 1er temps: afficher les extensions pour se rendre compte que piar.json s'appelle surement piar.json.txt

                                                    Avec la manip du Shift (ou MAJ) + clic droit > "copier en tant que chemin d'accès" et coller; on le verra aussi pour le coup

                                                    Phil_1857 a écrit:

                                                    Ensuite, après correction, il restera à exécuter le fichier qui est dans le répertoire Philtrad

                                                    rien n'est moins sûr que le script se trouve à cet endroit au vue des précédentes captures de traceback (le fichier lui semble y être)

                                                    -
                                                    Edité par umfred 25 novembre 2021 à 17:34:59

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      26 novembre 2021 à 10:34:50

                                                      Bonjour Umfred,

                                                      En voyant son image, le fichier Traducteur est bien dans Philtrad

                                                      En voyant les messages d'erreur, on voit un autre chemin, je me demande comment il exécute son fichier avec l'IDE Mu, à mon avis, et comme je le disais plus haut, c'est ça qu'il faut éclaircir

                                                      C'est pour ça que je lui demande de double-cliquer directement sur le fichier qui est dans Philtrad pour l'exécuter, au moins on est sur qu'il exécute ce fichier-là

                                                      On attend son retour ...

                                                      Donc, Lucien, affiche tes extensions de fichiers, corrige le problème avec piar.json (qui a surement 2 extensions) et ensuite doucle-clique sur Traducteur dans Philtrad et dis nous ce que ça donne

                                                      -
                                                      Edité par Phil_1857 26 novembre 2021 à 10:37:45

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        27 novembre 2021 à 11:23:07

                                                        Hello Lucien,

                                                        As-tu testé ce que je te disais hier ?  (je ne te lâcherai pas  :-)  :-) )

                                                        -
                                                        Edité par Phil_1857 27 novembre 2021 à 14:02:15

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          27 novembre 2021 à 15:14:01

                                                          A mon avis c'est lui qui nous a lâché...
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            28 novembre 2021 à 22:43:16

                                                            Bonsoir,

                                                            Je n'ai pas eu souvent du temps à consacrer à mon programme ces derniers temps... Mais en revanche, j'ai pris connaissance de vos avis et de vos conseils. C'est vrai, comme le dit si bien phil, je ne connais rien du tout en termes de fichier etc, donc inutile de me parler de manière technique.

                                                            réponse sur l'exe, ce que je sais c'est qu'un exe est facile à transporter et à envoyer.

                                                            Et je me demandais si ce exe pourrait contenir le programme remplit (sans qu'on est besoin d'un fichier json a téléchargé à chaque fois) Par exemple si je veux l'envoyer à un collègue ou quoi.

                                                            Ainsi vous réglerez le problème et le exe contiendra la consigne de retelecharger le dictionnaire, donc pas besoin que je me complique la tâche à m'entêter à trouver un fichier que je narrive pas à faire

                                                            ?

                                                            J'ai éssayé de faire apparaître toute les extensions mais je n'arrive ( pour l'instant à n'avoir que une extension à la fois, soit json soit txt)

                                                            J'ai aussi essayé le conseil de umfred "d:\users\red computer\desktop\Philtrad\piar.json" sans réussite.

                                                            même si je fais ça :

                                                            j_file ='C:\\users\\red computer\\desktop\\Philtrad\\piar.json'

                                                            ou

                                                            j_file ='C:\\\red computer\\desktop\\Philtrad\\piar.json'

                                                            Je ne sais pas pourquoi. Je pense que ça serait plus simple en présentiel même si c'est impossible.

                                                            Toujours la même erreur, toujours le même désespoir mdr

                                                            Lucien

                                                            -
                                                            Edité par LucienDeRubènprey 28 novembre 2021 à 22:47:13

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            programme de traduction

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            • Editeur
                                                            • Markdown