Partage
  • Partager sur Facebook
  • Partager sur Twitter

gestion du mot clé 'append' dans un try except

Sujet résolu
    6 août 2015 à 11:06:59

    Bonjour les gars,

    Je me permets de vous contacter car j'ai un petit souci avec mon try except.

    Voici mon code :

    #   Suppresion des doublons
         list_erratum_rhel = []
         for item in list_erratum:
             if not item in list_erratum_rhel:
                 list_erratum_rhel.append(item)
     #   Lister tous les packages concernes pour chaque errata
     #   Attention: Continuer le chargement si rpm manquant: xmlrpclib.Fault-208
                 for advisory in list_erratum_rhel:
                     try:
                         packages = [
                                 [
                                     package['id'],
                                     package['name'],
                                     package['version'],
                                     package['release'],
                                     package['arch_label']
                                     ]for package in client.errata.listPackages(key,advisory[2])]
     #                    list_erratum_rhel.append(packages)
                     except xmlrpclib.Fault:
                         continue
    
                 list_erratum_rhel.append(packages)
                 print list_erratum_rhel
    

    Maintenant je vais vous expliquer le retour de mes variables :

    Après avoir géré la gestion de mes doublons dans ma liste, 

    list_erratum_rhel

    me retourne une liste de mes erratas comme ceci: 

    Exemple:

    [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'], [36749, 'Critical: firefox security update', 'RHSA-2015:0988', '2015-05-12 06:00:00'], [36082, 'Critical: firefox security update', 'RHSA-2015:0766', '2015-03-31 06:00:00'], [35777, 'Critical: firefox security update', 'RHSA-2015:0718', '2015-03-24 05:00:00'], [32321, 'Critical: firefox security update', 'RHSA-2015:0265', '2015-02-24 06:00:00'], [32319, 'Critical: samba3x security update', 'RHSA-2015:0249', '2015-02-23 06:00:00'], [37946, 'Critical: java-1.7.0-openjdk security update', 'RHSA-2015:1229', '2015-07-15 06:00:00']...]

    Mon but est de pouvoir ajouter pour chaque RHSA, les packages(ou rpm) à qui ils font référence. Pour cela, il y a une méthode de l'API RedHat qui permet de le faire c'est :

    client.errata.listPackages(string sessionKey,string advisoryName)
    

     Cette méthode me liste les packages en fonction de l'errata concerné. Sauf que dans certains des cas, un des packages concernant l'errata n'est pas trouvé.

    Donc pour ne pas rester bloqué, j'utilise un "try except" pour contourné cette erreur afin qu'il continue à me lister les packages en fonction de chaque errata.

    Et j'ajoute avec le mot clé "append" ma liste de packages associé à chaque errata

    Au résultat j'ai ceci : RHSA1 + Packages1 , RHSA1 + Packages1 + RHSA2 + Packages2,  RHSA1 + Packages1 + RHSA2 + Packages2 + RHSA3 + Packages3 ...etc

    [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'], [[151470, 'firefox', '38.1.0', '1.el5_11', 'i386'], [151471, 'firefox', '38.1.0', '1.el5_11', 'x86_64'], [151487, 'firefox', '38.1.0', '1.el6_6', 'x86_64'], [151530, 'firefox', '38.1.0', '1.el7_1', 'x86_64'], [151553, 'firefox', '38.1.0', '1.el6_6', 'i686'], [151561, 'firefox', '38.1.0', '1.el7_1', 'i686']]]
    [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'], [[151470, 'firefox', '38.1.0', '1.el5_11', 'i386'], [151471, 'firefox', '38.1.0', '1.el5_11', 'x86_64'], [151487, 'firefox', '38.1.0', '1.el6_6', 'x86_64'], [151530, 'firefox', '38.1.0', '1.el7_1', 'x86_64'], [151553, 'firefox', '38.1.0', '1.el6_6', 'i686'], [151561, 'firefox', '38.1.0', '1.el7_1', 'i686']], [36749, 'Critical: firefox security update', 'RHSA-2015:0988', '2015-05-12 06:00:00'], [[144073, 'firefox', '38.0', '4.el5_11', 'i386'], [144074, 'firefox', '38.0', '4.el5_11', 'x86_64'], [144121, 'firefox', '38.0', '4.el6_6', 'x86_64'], [144258, 'firefox', '38.0', '3.el7_1', 'x86_64'], [144271, 'firefox', '38.0', '4.el6_6', 'i686'], [144322, 'firefox', '38.0', '3.el7_1', 'i686']]]
    [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'], [[151470, 'firefox', '38.1.0', '1.el5_11', 'i386'], [151471, 'firefox', '38.1.0', '1.el5_11', 'x86_64'], [151487, 'firefox', '38.1.0', '1.el6_6', 'x86_64'], [151530, 'firefox', '38.1.0', '1.el7_1', 'x86_64'], [151553, 'firefox', '38.1.0', '1.el6_6', 'i686'], [151561, 'firefox', '38.1.0', '1.el7_1', 'i686']], [36749, 'Critical: firefox security update', 'RHSA-2015:0988', '2015-05-12 06:00:00'], [[144073, 'firefox', '38.0', '4.el5_11', 'i386'], [144074, 'firefox', '38.0', '4.el5_11', 'x86_64'], [144121, 'firefox', '38.0', '4.el6_6', 'x86_64'], [144258, 'firefox', '38.0', '3.el7_1', 'x86_64'], [144271, 'firefox', '38.0', '4.el6_6', 'i686'], [144322, 'firefox', '38.0', '3.el7_1', 'i686']], [36082, 'Critical: firefox security update', 'RHSA-2015:0766', '2015-03-31 06:00:00'], [[140947, 'firefox', '31.6.0', '2.el5_11', 'x86_64'], [140948, 'firefox', '31.6.0', '2.el5_11', 'i386'], [140966, 'firefox', '31.6.0', '2.el6_6', 'x86_64'], [140995, 'xulrunner', '31.6.0', '2.el7_1', 'i686'], [140998, 'firefox', '31.6.0', '2.el7_1', 'x86_64'], [140999, 'xulrunner', '31.6.0', '2.el7_1', 'x86_64'], [141013, 'firefox', '31.6.0', '2.el6_6', 'i686'], [141021, 'xulrunner-devel', '31.6.0', '2.el7_1', 'i686'], [141025, 'firefox', '31.6.0', '2.el7_1', 'i686'], [141026, 'xulrunner-devel', '31.6.0', '2.el7_1', 'x86_64']]]
    

    Problème : je constate qu'à chaque fois il me rajoute le même errata dans une nouvelle list avant de passer à une autre, d'où répétion de l'errata 37256 et ainsi de suite.

    Mon but serait d'avoir ceci : RHSA1 + Packages1 , RHSA2 + Packages2, RHSA3 + Packages3 et ainsi de suite

    Exemple:

    [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'], [[151470, 'firefox', '38.1.0', '1.el5_11', 'i386'], [151471, 'firefox', '38.1.0', '1.el5_11', 'x86_64'], [151487, 'firefox', '38.1.0', '1.el6_6', 'x86_64'], [151530, 'firefox', '38.1.0', '1.el7_1', 'x86_64'], [151553, 'firefox', '38.1.0', '1.el6_6', 'i686'], [151561, 'firefox', '38.1.0', '1.el7_1', 'i686']]]
    [[36749, 'Critical: firefox security update', 'RHSA-2015:0988', '2015-05-12 06:00:00'], [[144073, 'firefox', '38.0', '4.el5_11', 'i386'], [144074, 'firefox', '38.0', '4.el5_11', 'x86_64'], [144121, 'firefox', '38.0', '4.el6_6', 'x86_64'], [144258, 'firefox', '38.0', '3.el7_1', 'x86_64'], [144271, 'firefox', '38.0', '4.el6_6', 'i686'], [144322, 'firefox', '38.0', '3.el7_1', 'i686']]]
    [[36082, 'Critical: firefox security update', 'RHSA-2015:0766', '2015-03-31 06:00:00'], [[140947, 'firefox', '31.6.0', '2.el5_11', 'x86_64'], [140948, 'firefox', '31.6.0', '2.el5_11', 'i386'], [140966, 'firefox', '31.6.0', '2.el6_6', 'x86_64'], [140995, 'xulrunner', '31.6.0', '2.el7_1', 'i686'], [140998, 'firefox', '31.6.0', '2.el7_1', 'x86_64'], [140999, 'xulrunner', '31.6.0', '2.el7_1', 'x86_64'], [141013, 'firefox', '31.6.0', '2.el6_6', 'i686'], [141021, 'xulrunner-devel', '31.6.0', '2.el7_1', 'i686'], [141025, 'firefox', '31.6.0', '2.el7_1', 'i686'], [141026, 'xulrunner-devel', '31.6.0', '2.el7_1', 'x86_64']]]

     Est ce possible? Merci par avance






    • Partager sur Facebook
    • Partager sur Twitter
      6 août 2015 à 12:32:58

      Salut,

      J'ai pas trop regardé en détail ton code, mais tu as déjà une erreur à la ligne 4: Ce n'est pas la syntaxe if not item in qu'il faut utiliser pour enlever les doublons mais if item not in ;).

      Ensuite pour ta deuxième boucle for, es-tu sûr qu'elle soit au bon endroit? Car elle va traiter chaque élément de ta liste list_erratum_rhel à chaque tour de boucle et donc  retraiter les éléments déjà mis aux itérations précédentes. Sa place ne serait pas mieux à l'extérieur?

      • Partager sur Facebook
      • Partager sur Twitter
      Précepte: Le mieux est l'ennemi du bien
        6 août 2015 à 14:36:38

        Oui bien joué Olygrim,

        Pour la deuxième boucle for, effectivement la logique fait que j'aurai dû le mettre à l'extérieur. Mais au niveau de la forme, je n'ai pas le résultat escompté.Voici mon code:

        #   Suppresion des doublons
             list_erratum_rhel = []
             for item in list_erratum:
                 if item not in list_erratum_rhel:
                     list_erratum_rhel.append(item)
         #   Lister tous les packages concernes pour chaque errata
         #   Attention: Continuer le chargement si rpm manquant: xmlrpclib.Fault-208
             for advisory in list_erratum_rhel:
                 try:
                     packages = [
                             [
                                 package['id'],
                                 package['name'],
                                 package['version'],
                                 package['release'],
                                 package['arch_label']
                                 ]for package in client.errata.listPackages(key,advisory[2])]
                 except xmlrpclib.Fault:
                     continue
        
                 list_erratum_rhel.append(packages)
                 print list_erratum_rhel
        

        Je pense que c'est sur l'emplacement de mon append, je ne sais pas si je dois le mettre dedans où à l'extérieur de ma boucle?

        -
        Edité par Taylor08 6 août 2015 à 14:55:26

        • Partager sur Facebook
        • Partager sur Twitter
          6 août 2015 à 15:27:06

          Ok. Je crois comprendre ce que tu veux. Ta première boucle permet d'avoir une liste de listes. Chaque sous-listes correspond à quelque chose comme: [37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'] et toi tu voudrait ajouter à chaque sous-liste la liste des packages avec la deuxième boucle for. Est-ce bien ça?

          Pour faire ceci, il faut utiliser la fonction intégrée enumerate(). Celle-ci te permet d'avoir ET les éléments ET leur indice à chaque itération. Pour comprendre mieux, teste ce petit bout de code:

          lst = ["a", "b", "c", "d"]
          
          for ind, elt in enumerate(lst):
              print("l'élément {} est en position {}".format(elt, ind))


          In fine, pour l'utiliser dans ton programme:

          for indice, advisory in enumerate(list_erratum_rhel):
                   try:
                       packages = [
                               [
                                   package['id'],
                                   package['name'],
                                   package['version'],
                                   package['release'],
                                   package['arch_label']
                                   ]for package in client.errata.listPackages(key,advisory[2])]
                   except xmlrpclib.Fault:
                       continue
                   #Ici utilisation de indice pour bien positionner tes packages
                   list_erratum_rhel[indice].append(packages)


          J'ai pas testé le code, mais je pense que c'est quelque chose de la sorte :)

          -
          Edité par Olygrim 6 août 2015 à 15:28:07

          • Partager sur Facebook
          • Partager sur Twitter
          Précepte: Le mieux est l'ennemi du bien
            6 août 2015 à 15:37:00

            Olygrim a écrit:

            Ok. Je crois comprendre ce que tu veux. Ta première boucle permet d'avoir une liste de listes. Chaque sous-listes correspond à quelque chose comme: [37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00'] et toi tu voudrait ajouter à chaque sous-liste la liste des packages avec la deuxième boucle for. Est-ce bien ça?

            -

            Edité par Olygrim il y a 8 minutes


            Exact Olygrim, par exemple:

            [[32032, 'Critical: java-1.7.1-ibm security update', 'RHSA-2015:0133', '2015-02-05 06:00:00'], [[133224, 'java-1.7.1-ibm-devel', '1.7.1.2.10', '1jpp.3.el6_6', 'i686'], [133229, 'java-1.7.1-ibm-plugin', '1.7.1.2.10', '1jpp.3.el6_6', 'x86_64'], [133230, 'java-1.7.1-ibm-jdbc', '1.7.1.2.10', '1jpp.3.el6_6', 'x86_64'], [133231, 'java-1.7.1-ibm-devel', '1.7.1.2.10', '1jpp.3.el6_6', 'x86_64'], [133237, 'java-1.7.1-ibm-demo', '1.7.1.2.10', '1jpp.3.el6_6', 'x86_64'], [133238, 'java-1.7.1-ibm-src', '1.7.1.2.10', '1jpp.3.el6_6', 'x86_64'], [133239, 'java-1.7.1-ibm', '1.7.1.2.10', '1jpp.3.el6_6', 'x86_64']]]

            Une liste qui inclut l'errata + les packages concernés par cet errata.  J'aimerais le faire à chaque errata d'où mes deux boucles.

            -
            Edité par Taylor08 6 août 2015 à 15:51:35

            • Partager sur Facebook
            • Partager sur Twitter
              6 août 2015 à 16:02:35

              Parcontre j'ai constaté que lorsque je sortais ma deuxième boucle for du 1er, il ne me récupérait pas tout les packages. Par exemple celui du [37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00']
              Où je n'ai pas de packages le concernant. Et pourtant il y en a.

              Et une fois que l'ai remis dedans, là j'avais l'intégralité de mes packages. Mais du coup j'ai toujours ce même problème au niveau de la répététion de la 1er valeur de mon itération.

              Je pense qu'on n'en est pas loin car le format RHSA + Packages est bien présent. Mais c'est cette répétition à chaque tour de boucle.

              -
              Edité par Taylor08 6 août 2015 à 16:10:33

              • Partager sur Facebook
              • Partager sur Twitter
                6 août 2015 à 16:38:48

                Pour ton anomalie, je ne sais pas. Par contre, je ne pense pas que remettre la seconde boucle for dans la première soit la solution. Il faut essayer de comprendre pourquoi les packages ne s'affichent pas.

                Sinon concernant mon code, je ne penses pas qu'il soit bon car les packages sont ajoutés DANS les errata. Et ce n'est pas ce que tu veux il me semble. Il suffit juste d'ajouter des parenthèses dans le append de ta première boucle ET dans la comparaison:

                list_erratum_rhel = []
                for item in list_erratum:
                    if [item] not in list_erratum_rhel:
                        list_erratum_rhel.append([item])


                Ainsi quand tu ajoutera les packages, il seront dans la même liste que les errata, mais en dehors des errata.

                -
                Edité par Olygrim 6 août 2015 à 16:39:27

                • Partager sur Facebook
                • Partager sur Twitter
                Précepte: Le mieux est l'ennemi du bien
                  6 août 2015 à 17:53:10

                  Ok, je n'ai plus d'anomalie, car je l'ai fait rentrer dans la boucle du try except. J'ai tous mes packages

                  Parcontre, en faisant ceci :

                  Olygrim a écrit:

                  list_erratum_rhel = []
                  for item in list_erratum:
                      if [item] not in list_erratum_rhel:
                          list_erratum_rhel.append([item])


                  Ainsi quand tu ajoutera les packages, il seront dans la même liste que les errata, mais en dehors des errata.

                  -
                  Edité par Olygrim il y a 6 minutes

                  J'ai un "indexerror" qui se présente ce qui est normal, car il reconnait qu'un seul élément. Or moi je souhaite utiliser chaque élément de ma liste pour en faire un dictionnaire et pouvoir l'afficher dans un tableau html. Dois je faire une itération pour récupérer les éléments de ma liste d'éléments?

                  return {'list_erratum_rhel':list_erratum_rhel,}

                  Dernier code :

                  #   Suppresion des doublons
                       list_erratum_rhel = []
                       for item in list_erratum:
                           if item not in list_erratum_rhel:
                               list_erratum_rhel.append(item)
                  
                       for indice, advisory in enumerate(list_erratum_rhel):
                           try:
                               packages = [
                                       [
                                           package['id'],
                                           package['name'],
                                           package['version'],
                                           package['release'],
                                           ]for package in client.errata.listPackages(key,advisory[2])]
                           except xmlrpclib.Fault:
                               continue
                  
                           list_erratum_rhel[indice].append(packages)
                           print list_erratum_rhel
                  

                  Par exemle : voici ma première ligne de retour. C'est ce que je veux et il me le fait au début...

                  [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00', [[151470, 'firefox', '38.1.0', '1.el5_11'], [151471, 'firefox', '38.1.0', '1.el5_11'], [151487, 'firefox', '38.1.0', '1.el6_6'], [151530, 'firefox', '38.1.0', '1.el7_1'], [151553, 'firefox', '38.1.0', '1.el6_6'], [151561, 'firefox', '38.1.0', '1.el7_1']]]

                  Mais après ...

                  [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00', [[151470, 'firefox', '38.1.0', '1.el5_11'], [151471, 'firefox', '38.1.0', '1.el5_11'], [151487, 'firefox', '38.1.0', '1.el6_6'], [151530, 'firefox', '38.1.0', '1.el7_1'], [151553, 'firefox', '38.1.0', '1.el6_6'], [151561, 'firefox', '38.1.0', '1.el7_1']]], [36749, 'Critical: firefox security update', 'RHSA-2015:0988', '2015-05-12 06:00:00'], [36082, 'Critical: firefox security update', 'RHSA-2015:0766', '2015-03-31 06:00:00'], [35777, 'Critical: firefox security update', 'RHSA-2015:0718', '2015-03-24 05:00:00']...]

                  Pour l'errata 36749, il n'y pas packages. Dailleurs il faut attendre le prochain tour qu'il boucle dessus, du coup ça me donne ceci :

                  [[37256, 'Critical: firefox security update', 'RHSA-2015:1207', '2015-07-02 06:00:00', [[151470, 'firefox', '38.1.0', '1.el5_11'], [151471, 'firefox', '38.1.0', '1.el5_11'], [151487, 'firefox', '38.1.0', '1.el6_6'], [151530, 'firefox', '38.1.0', '1.el7_1'], [151553, 'firefox', '38.1.0', '1.el6_6'], [151561, 'firefox', '38.1.0', '1.el7_1']]], [36749, 'Critical: firefox security update', 'RHSA-2015:0988', '2015-05-12 06:00:00', [[144073, 'firefox', '38.0', '4.el5_11'], [144074, 'firefox', '38.0', '4.el5_11'], [144121, 'firefox', '38.0', '4.el6_6'], [144258, 'firefox', '38.0', '3.el7_1'], [144271, 'firefox', '38.0', '4.el6_6'], [144322, 'firefox', '38.0', '3.el7_1']]], [36082, 'Critical: firefox security update', 'RHSA-2015:0766', '2015-03-31 06:00:00'], [35777, 'Critical: firefox security update', 'RHSA-2015:0718', '2015-03-24 05:00:00']...]


                  En gros ça me fait :

                  1er tour de boucle : [[RHSA1], [PACKAGES1]] , [RHSA2], [RHSA3], [RHSA4], ...etc

                  2eme tour de boucle: [[RHSA1] , [PACKAGES1]] , [[RHSA2] , [PACKAGES2]] , [RHSA3], [RHSA4], ...etc

                  Et ainsi de suite.

                  Moi j'aimerais avoir :

                  1er tour de boucle : [[RHSA1], [PACKAGES1]]

                  2ième tour de boucle: [[RHSA2], [PACKAGES2]]

                  3ieme tour de boucle: [[RHSA3], [PACKAGES3]]

                  ...

                  Et ainsi de suite.





                  -
                  Edité par Taylor08 6 août 2015 à 17:55:10

                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 août 2015 à 18:21:19

                    Est-ce que ça serait pas en rapport avec le premier argument de la méthode listPackages: key? Je pense que pour une itération donnée, la valeur de key reste identique et donc ne fonctionne pas pour les errata suivantes. C'est une piste, je ne suis pas sûr de ce que j'avance :o

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Précepte: Le mieux est l'ennemi du bien
                      7 août 2015 à 10:41:57

                      Bon après avoir bataillé pendant un bon moment, j'ai pu trouvé la solution :

                      #   Suppresion des doublons
                          list_erratum_rhel = []
                          for item in list_erratum:
                              if item not in list_erratum_rhel:
                                  list_erratum_rhel.append(item)
                       
                          for indice, advisory in enumerate(list_erratum_rhel):
                              try:
                                  packages = [
                                          [
                                              package['id'],
                                              package['name'],
                                              package['version'],
                                              package['release'],
                                              ]for package in client.errata.listPackages(key,advisory[2])]
                              except xmlrpclib.Fault:
                                  continue
                       
                              list_erratum_rhel[indice].append(packages)
                          pprint (list_erratum_rhel)

                      Bon c'est une simple histoire de print que j'aurai dû sortir de la boucle :(

                      Olygrim on a essayé ;)

                      Voici un extrait :

                      [[37256,
                        'Critical: firefox security update',
                        'RHSA-2015:1207',
                        '2015-07-02 06:00:00',
                        [[151470, 'firefox', '38.1.0', '1.el5_11'],
                         [151471, 'firefox', '38.1.0', '1.el5_11'],
                         [151487, 'firefox', '38.1.0', '1.el6_6'],
                         [151530, 'firefox', '38.1.0', '1.el7_1'],
                         [151553, 'firefox', '38.1.0', '1.el6_6'],
                         [151561, 'firefox', '38.1.0', '1.el7_1']]],
                       [36749,
                        'Critical: firefox security update',
                        'RHSA-2015:0988',
                        '2015-05-12 06:00:00',
                        [[144073, 'firefox', '38.0', '4.el5_11'],
                         [144074, 'firefox', '38.0', '4.el5_11'],
                         [144121, 'firefox', '38.0', '4.el6_6'],
                         [144258, 'firefox', '38.0', '3.el7_1'],
                         [144271, 'firefox', '38.0', '4.el6_6'],
                         [144322, 'firefox', '38.0', '3.el7_1']]],
                       [36082,
                        'Critical: firefox security update',
                        'RHSA-2015:0766',
                        '2015-03-31 06:00:00',
                        [[140947, 'firefox', '31.6.0', '2.el5_11'],
                         [140948, 'firefox', '31.6.0', '2.el5_11'],
                         [140966, 'firefox', '31.6.0', '2.el6_6'],
                         [140995, 'xulrunner', '31.6.0', '2.el7_1'],
                         [140998, 'firefox', '31.6.0', '2.el7_1'],
                         [140999, 'xulrunner', '31.6.0', '2.el7_1'],
                         [141013, 'firefox', '31.6.0', '2.el6_6'],
                         [141021, 'xulrunner-devel', '31.6.0', '2.el7_1'],
                         [141025, 'firefox', '31.6.0', '2.el7_1'],
                         [141026, 'xulrunner-devel', '31.6.0', '2.el7_1']]]...]
                      

                      Et ainsi de suite



                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 août 2015 à 12:04:01

                        "Bon c'est une simple histoire de print que j'aurai dû sortir de la boucle :("

                        Haha, oui c'est le genre d'inattention qui fait perdre du temps. Mais c'est formateur ;).

                        Par contre tu remarquera que dans ton dernier code les packages sont directement inclus dans les errata. Je ne sais pas si c'est le comportement souhaité car dans ton 3ème message les packages ne sont pas inclus dans les errata, mais à l'extérieur.

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Précepte: Le mieux est l'ennemi du bien
                          7 août 2015 à 13:32:08

                          Oui ce n'est pas faux,

                          Mais bon j'ai vu ça marchait comme ça aussi ^^

                          Merci Olygrim

                          J'ai mis un autre sujet qui est complexe à mon gout...

                          -
                          Edité par Taylor08 7 août 2015 à 13:44:50

                          • Partager sur Facebook
                          • Partager sur Twitter

                          gestion du mot clé 'append' dans un try except

                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                          • Editeur
                          • Markdown