Partage
  • Partager sur Facebook
  • Partager sur Twitter

Crée fichier selon nombre de fichier dans dossier

Sujet résolu
    6 novembre 2022 à 16:33:08

    Hello tout le monde 

    j'ai un souci, je voulais un crée un script qui permet de crée un fichier tant que dans le dossier y'a mois de 5 fichier.

    mais je ne sais pas pourquoi, il reste bloquer sur le premier boucle.

    Merci pour aide

    import os
    
    pat = "C:/Users/user/Pictures/Nouveaudossier/"
    
    
    for chemin, dossiers, fichier in os.walk(pat): #Chemin, dossiers, fichiers
        nb_fichier = 0
       
        while nb_fichier <= 5:
                
            
            with open(chemin +"/"+ "4.txt", "w") as fl:
                 fl.write("1")
            
            nb_fichier = len(fichier)
            
                    



    -
    Edité par Omoji 7 novembre 2022 à 9:50:40

    • Partager sur Facebook
    • Partager sur Twitter

    Doucement mais Surement 

      6 novembre 2022 à 19:06:36

      Et que contient  fichier ?
      La liste des fichiers.
      Pourquoi ne pas incrémenter  nbfichier de 1 seulement?
      • Partager sur Facebook
      • Partager sur Twitter

      Le Tout est souvent plus grand que la somme de ses parties.

        6 novembre 2022 à 20:04:10

        Hello PierretLeFou

        Là je suis dans un lab mais quand je suis dans environnement réel, je ne sais pas combien de fichier dans le dossier.

        Merci

        • Partager sur Facebook
        • Partager sur Twitter

        Doucement mais Surement 

        Anonyme
          6 novembre 2022 à 22:32:36

          Salut !

          Ta variable fichier ne change pas tout bonnement... Relis ton script !

          for chemin, dossiers, fichiers in os.walk(pat):
              for i in range(2-len(fichiers)):
                  print('TOTO')


          • Partager sur Facebook
          • Partager sur Twitter
            7 novembre 2022 à 1:04:59

            > j'ai un souci, je voulais un crée un script qui permet de crée un fichier tant que dans le dossier y'a mois de 2 fichier.
            "un fichier" ce n'est pas 2 ou 3 ...
            Moins que 2, ça veut dire 1 ou 0.
            Pourquoi ne pas tester simplement si len(fichier) < 2 dans un if plutôt qu'un while?

            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              7 novembre 2022 à 9:50:24

              Hello PierrotLeFou 

              Désoler, j'aurais du être mettre un valeur plus grande mettre un 5 a place de 2

              • Partager sur Facebook
              • Partager sur Twitter

              Doucement mais Surement 

                7 novembre 2022 à 11:52:42

                ça ne change rien. dans ta boucle initialement tu indiques nb_fichier=0, mais le dossier a peut-être déjà des fichiers, ça doit être pris en compte ou pas ?

                ensuite fichiers issu de os.walk n'est pas mis à jour dans la boucle, c'est pour ça que partir de nb_fichier=len(fichiers) plutot que nb_fichier=0 serait mieux, et ensuite incrémenter ce nb_fichier.

                Autre problème, tu créés à chaque fois le même fichier '4.txt' donc tu ne rajoutes pas d'autres fichiers au répertoire à par ce fichier-là (donc qu'importe le nombre de boucle tu ne rajoutera qu'un seul fichier)

                • Partager sur Facebook
                • Partager sur Twitter
                  9 novembre 2022 à 11:47:12

                  Hello tout le monde 

                  Merci  tout le monde, j'ai réussi à faire en ajoutant un compter. Merci 

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Doucement mais Surement 

                  Crée fichier selon nombre de fichier dans dossier

                  × 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