Partage
  • Partager sur Facebook
  • Partager sur Twitter

[python] condition foireuse ...

Sujet résolu
    16 janvier 2007 à 22:38:04

    Bonjour,

    La réponse à ma question ne peut être que simple, mais quand on est devant un probleme pendant des heures il n'y a que le simple qu'on ne voit pas.

    Je cherche à déterminer si un cd X est un windows home et avec quel SP.
    Pour se faire je me réfaire au fichier à la racine du CD.

    WIN51IC signifie que c'est bien un XP home
    WIN51IC.SP1 si le SP1 est present
    WIN51IC.SP2 si le SP2 est present
    Mais même si c'est un SP1 (ou 2) le fichier WIN51IC est présent.

    Donc en toute logique:

    if not exists(self.lecteurCD+'WIN51IC'): sys ="not xp home"
    elif exists(self.lecteurCD+'WIN51IC.SP1'): sys ="xp home sp1"
    elif exists(self.lecteurCD+'WIN51IP.SP2'): sys ="xp home sp2"
    else: sys ="xp home sans sp"


    Que j'interprete:
    - Si le fichier WIN51IC n'existe pas, la variable sus vaut "not xp home"
    - Sinon (donc si le fichier WIN51IC existe) si il y a un fichier qui se nomme WIN51P.SP1 (en plus de WIN51IC) la variable sys vaut "xp home sp1"
    - Sinon (donc si WIN51IC existe mais que WIN51IC.SP1 n'existe pas) si WIN51IC.SP2 existe la variable vaut "xp home sp2"
    - Sinon (si le fichier WIN51IC existe mais que ni le fichier WIN51IC.SP1 ni le fichier WIN51IC.SP2 n'existe alors la variable sys vaut "xp home sans sp"

    Si je mets un CD qui n'est pas XP, tout fonctionne.
    Mais c'est après que ça ce corce, si je mets un CD de XP il me sors systématiquement sys = "xp home sans sp" et pourtant les fichiers sont bien présent sur le cdrom.

    SVP sortez moi de là :lol:
    Amicallement, sloshy
    • Partager sur Facebook
    • Partager sur Twitter
      18 janvier 2007 à 22:35:08

      Heu tu utilises quel module ?
      os.path ?
      Car la tu test l'existence du fichier facilement.
      Sinon l'algo :

      if exists('WIN51IC'):
        if exists('WIN51IC.SP1'): sys = 'xp sp1'
        elif exists('WIN51IC.SP2'): sys = 'xp sp2'
        else: sys = 'xp rien'
      else: sys = 'pas cd sp'



      Bisous, Nyu
      • Partager sur Facebook
      • Partager sur Twitter
        19 janvier 2007 à 21:19:07

        Salut,

        J'utilise bien os.path ^^
        Ton algo semble fonctionner, mais qu'est ce qui plante dans le mien?
        • Partager sur Facebook
        • Partager sur Twitter
          19 janvier 2007 à 21:53:18

          Ben c'est la sémantique : toi même si le fichier WIN51IC n'existe pas tu vérifies les WIN51IC.SP1 et .SP2 qui ne peuvent pas être présents.
          Et ça ne détecte pas sp1 et sp2 tu mets un elif avec l'existence de WIN51IC : elle est vérifié, les conditions pour sp1 et sp2 ne sont pas utilisées.


          Bisous, Nyu
          • Partager sur Facebook
          • Partager sur Twitter
            19 janvier 2007 à 23:44:11

            Je ne connais pas trop ce langage , je pense pas pouvoir t'aidé :s
            • Partager sur Facebook
            • Partager sur Twitter
              20 janvier 2007 à 21:08:49

              bin alors tais toi...
              Ce langage est le python, il est très bien je te conseille de l apprendre.
              • Partager sur Facebook
              • Partager sur Twitter
                22 janvier 2007 à 15:58:23

                Citation : Luky

                Je ne connais pas trop ce langage , je pense pas pouvoir t'aidé :s



                De toute manière la question ne dépendait pas du langage, mais d'un problème algorithmique :-°
                • Partager sur Facebook
                • Partager sur Twitter

                [python] condition foireuse ...

                × 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