IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

ajouter un numéro au nom du fichier


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut ajouter un numéro au nom du fichier
    Bonjour
    j'ai une fonction qui crée un fichier.xml
    j'ai declaré une variable=random.random()
    je veux ajouter cette variable au nom du fichier crée
    l'objectif c'est d'avoir des fichiers : fichier1, fichier2 fichier3 etc
    le nom de fichier je le donne en paramettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ecrireDansFichier("Fichiers.xml", "helo")

  2. #2
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Je te déconseille random.random Sois sûre que si tu laisses une possibilité qu'un bug se produise (ici, en l'occurrence, deux fichiers avec le même nom, l'un va forcément écraser l'autre) il va se produire. Sans parler de la possibilité de retrouver un fichier dont le nom a été créé par hasard... La méthode que je te propose n'est pas idéale non plus, car si on arrête et relance le programme, la numérotation recommence à un. Tu peux réfléchir à une méthode plus aboutie.

    A+

    Pfeuh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    class UNIQUE():
        def __init__(self):
            self.sernum = 0
     
        def get(self):
            self.sernum += 1
            return self.sernum
     
    def  getNewFilename(prefix, sufix, fnum):
        return "%s%04u.%s"%(prefix, fnum.get(), sufix)
     
    fnumgenerator = UNIQUE()
    for index in range (20):
        print (getNewFilename("fichier_", "xml", fnumgenerator))

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    merci
    je pense que si je me base sur la date ( heure , minute , second ) et le random en même temps je risque rien ( datetime )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import datetime
    q=datetime.datetime(15,1,1,1)
    print q.today()
    qu'en pense tu ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    le nom de fichier s'affiche :
    (datetime.datetime(2011, 4, 11, 15, 13, 51, 484000), ('_fichier_', 15346, '.xml'))
    et ce n'est pas no plus en extension .xml

  5. #5
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Citation Envoyé par nancy maman Voir le message
    je pense que si je me base sur la date ( heure , minute , second ) et le random en même temps je risque rien
    Il y a quand même quelque chose qui m'échappe. Si tu sauves tes fichiers avec des noms générés aléatoirement, tu ne les reconnaitras plus. Et si tu me dis que tu n'as plus besoin de ces fichiers, alors pourquoi les as tu sauvés? Pour l'utilisation de random dans ton cas, je ne peux pas être d'accord, mais fais bien sûr comme tu veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    import time
    class UNIQUE():
        def __init__(self):
            self.sernum = 0
     
        def get(self):
            self.sernum += 1
            return self.sernum
     
    def  getNewFilename(prefix, sufix, fnum):
        now = time.gmtime()
        timestr = "%04u_%02u_%02u_%02u_%02u_%02u"%(now.tm_year,
            now.tm_mon, 
            now.tm_mday, 
            now.tm_hour, 
            now.tm_min, 
            now.tm_sec)
        return "%s%s_%04u.%s"%(prefix, timestr, fnum.get(), sufix)
     
    fnumgenerator = UNIQUE()
    for index in range (3):
        print (getNewFilename("fichier_", "xml", fnumgenerator))

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    je les sauvegarde car j'aurai besoin de ca pour identifier mes fichiers
    imagine toi si 1000 utilisateur créent des fichiers en même temps
    donc j'aurai besoin de savoir qui a crée quoi

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    297
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 297
    Par défaut
    merci à toi pour ton exemple
    ca marche. je vais l'adapter à mon travail

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. AJouter un paramètre à un nom de fichier uploadé.
    Par cdossert dans le forum Langage
    Réponses: 8
    Dernier message: 09/02/2014, 15h29
  2. numéro dans nom de fichier
    Par koKoTis dans le forum Langage
    Réponses: 7
    Dernier message: 14/10/2008, 11h00
  3. [log4j] Ajouter la date au nom du fichier
    Par n@n¤u dans le forum Logging
    Réponses: 5
    Dernier message: 09/01/2008, 22h29
  4. Ajouter au noms des fichiers le nom du rep
    Par nestam dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 28/08/2007, 18h42
  5. Modifer un fichier en ajoutant le numéro de chaque ligne
    Par bellout dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 15/06/2006, 13h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo