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 :

Mettre en mémoire


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut Mettre en mémoire
    Bonjour,
    J'ai une simple question.
    Je code un script en python (V3)
    Je résume.
    1 ) Il copie des dossiers et fichiers. (+- 4Go)
    2 ) Créer un fichier infos.txt (dans le quelle j'insère quelques infos)
    J'aimerais ajouter l'heure du début de la copie et l'heure à la fin de la copie.
    Pour se faire j'ai voulu simplement créer deux variables
    heure1 = (strftime('%d-%m-%y_%H_%M_%S',localtime()))
    heure2 = (strftime('%d-%m-%y_%H_%M_%S',localtime()))

    Heure 1 est placé au dessus de mon code de copie
    Heure 2 est placé en dessous de mon code de copie.

    Puis j'ajoute dans le fichier infos.txt heure1 et heure2
    Le problème c'est que il me donne l'heure à la quelle il créer le infos.txt

    J'aimerais que la variable heure1 enregistre au moment de son exécution l'heure et ne bouge plus après (fixer la variable)

    Comment fait-on ?

    D'avance merci pour votre aide.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Bonjour,



    Si ton ordinateur est très rapide, il se peut que la copie soit réalisée en moins d’une seconde, même pour 4 Go copiés, auquel cas le temps capté par localtime() n’a pas le temps de changer entre le début et la fin de la copie.

    Je dois dire que je suis un peu dubitatif sur cette explication, mais il faut commencer par la tester:

    importe clock() dans ton code
    et place t1 = clock() juste aprés heure1 = (strftime('%d-%m-%y_%H_%M_%S',localtime()))
    ainsi que t2 = clock() juste après heure2 = (strftime('%d-%m-%y_%H_%M_%S',localtime()))

    La différence t1 - t0 est-elle franchement supérieure à 1 seconde ?

    Si c’est le cas, il faudra chercher une autre explication et avoir une connaissance un peu moins vague de ce qu’il y a entre les deux instructions
    heure1 = (strftime('%d-%m-%y_%H_%M_%S',localtime()))
    et
    heure2 = (strftime('%d-%m-%y_%H_%M_%S',localtime()))

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut
    merci pour la réponse rapide.
    Oui pour la copie la plus rapide ça prend au minimum 5 minutes.
    La plus grande entre 2 et 3 heures ...
    La fonction qu'il y a entre les deux heure1 et heure2 est un simple copytree avec un except.

    Donc ça reste assez simple comme code.
    J'ai pensé a faire un bricolage en sortant l'heure de début heure1 dans un fichier txt puis ajouter le contenu de ce txt dans le fichier final infos.txt mais c'est du bricolage.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut
    voila ca fonctionne nickel maintenant
    sans ajouter la fonction clock()
    Un tout grand merci pour votre aide et votre conseil.
    J'ai bien une différence entre les deux heures maintenant.
    Passez une bonne journée.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    « il se peut que la copie soit réalisée en moins d’une seconde »



    Sans voir de code, ça m’est incompréhensible.

    S’il n’y a que copytree() entre les deux instructions de prise de temps, on ne peut même pas essayer de saupoudrer des
    print strftime('%d-%m-%y_%H_%M_%S')
    entre ces deux instructions pour voir ce qui se passe.

    Nota: pour capter l’heure actuelle on n’est pas obligé de mettre localtime() dans l’appel de la fonction, c’est l’argument par défaut.



    Ce qui est bizarre c’est que c’est l’heure de création de infos.txt qui est enregistrée.

    D’ailleurs à quel moment est il créé ? Avant de commencer la copie ou après ? Et les deux valeurs heure1 et heure2 qui sont enregistrées sont elles strictement identiques, légèrement distinctes... ?


    Je ne vois qu’une chose pour le moment, une erreur d’indentation qui fait capter le temps à un moment inadapté.

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Je n’avais pas vu ton post avant mon précédent post.


    Ne pas dire quelle était la raison du problème est très frustrant et manque de fair-play.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2010
    Messages : 32
    Par défaut
    pardon,
    je n'avais pas vu que tu avais répondu aussi.
    En fait la copie se faisait très vite car le dossier que je copiais ne faisait que quelques Mo et je pensais que ça aurait suffit.
    Mais si je copie un gros dossier ou un gros fichier la si je print les heure1 et heure2 j'ai effectivement bien la différence entre les deux.

    C'est une erreur de ma part ^^
    Le localtime n'est effectivement pas utilise.

    Donc pour résumer
    heure1 = (strftime('%d-%m-%y_%H_%M_%S'))
    copytree (qui doit durer au moins + 1 de seconde pour voir la différence logique)
    heure2 = (strftime('%d-%m-%y_%H_%M_%S'))
    print(heure1)
    print(heure2)
    open (infos.txt w)

    et j'intègre dedans mes deux variables heure1 & heure2
    Et effectivement il reporte bien les deux variables aux heures ou elles ont été enregistrée.

    En fait le script depuis le début fonctionnait bien c'est juste que la copie s'effectuais trop vite ^^
    Encore une fois merci pour ton aide.

    J'aurais une autre question mais ça n'a rien avoir.
    Je suppose que je dois ouvrir un nouveau post.
    Car concerne le travaille dans des fichiers.

    En gros je résume :
    J'ouvre un fichier .cfg
    je cherche une suite de caractère précis exemple : "mon gros bureau"
    Je remplace mon gros bureau par rien.
    Et j'aimerais supprimer la ligne de texte au dessus.

    Alors je ne sais pas comment on fait pour supprimer la ligne complète ou se situe le texte "mon gros bureau" et comment on fait pour supprimer la ligne qui se situe juste au dessus.
    Car je ne trouve pas le moyen mettre en mémoire le numéro de la ligne ou se trouve "mon gros bureau" et de supprimer la ligne juste au dessus (soit la ligne -1 par rapport au la ligne recherchée)

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

Discussions similaires

  1. mettre en mémoire flash pic32MX795
    Par davidif dans le forum C
    Réponses: 3
    Dernier message: 16/11/2013, 13h38
  2. [OpenOffice][Tableur] Mettre en mémoire une page html
    Par junior76 dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 25/02/2010, 13h58
  3. Mettre en mémoire le buffer clavier
    Par darkwall_37 dans le forum Débuter
    Réponses: 7
    Dernier message: 02/12/2009, 23h53
  4. [MySQL] Mettre en mémoire le résultat d'une boucle while
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/08/2008, 08h54
  5. [C][méthodologie]Mettre en mémoire les images d'un programme 2d
    Par yetimothee dans le forum Développement 2D, 3D et Jeux
    Réponses: 15
    Dernier message: 05/06/2008, 23h21

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