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 :

suppression de fichier se trouvant dans une variable


Sujet :

Python

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2019
    Messages : 67
    Points : 44
    Points
    44
    Par défaut suppression de fichier se trouvant dans une variable
    bonjour,

    j'aimerai savoir si cela est possible de supprimer le fichier courant se situant dans la variable en prenant en compte la date de création?
    voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    filepath = glob.glob('C:/Users/FRED/Desktop/*.txt')[0]
    name = basename(filepath)
    j'ai trouvé cette fonction mais apparemment fonctionne pour les fichiers avec le chemin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.remove('C:/Users/FRED/Desktop/*.txt')
    ou
    merci d'avance

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 478
    Points : 9 278
    Points
    9 278
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je ne comprends pas bien la question, mais voilà quelques éléments de réponse:

    glob.glob va renvoyer la liste des fichiers satisfaisant le motif donné (type "*.txt"), trouvés dans le répertoire, chaque fichier précédé de son chemin.

    La date de création de chaque fichier est trouvée avec os.path.getctime(fichier_avec_son_chemin), en seconde depuis l'epoch (en général le 1/1/1970)

    On peut supprimer chacun de ces fichiers avec os.remove(fichier_avec_son_chemin)

    Il reste à expliquer ce que tu entends par "en prenant en compte la date de création".

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2019
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    bonjour,

    en fait je désire supprimer le fichier .TXT à J+1 ( date de création du fichier + 1 jour)sachant que je récupère le fichier TXT dans une variable (name).
    dans mon repertoire j'ai plusieurs TXT que je voudrais purger au fur et a mesure après qu'il ai été traité (envoyé par mail) .
    pour cela que cette ligne ne me convient pas forcément dans le sens ou le nom du fichier txt change tout le temps

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    os.remove('C:/Users/FRED/Desktop/*.txt')

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 253
    Points : 446
    Points
    446
    Par défaut
    Bonjour,

    du coup, il te faut faire ça (pseudo code):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    # récupérer la liste des fichiers
    fichiers = glob.glob('C:/Users/FRED/Desktop/*.txt')
    # pour chaque fichier 
      # récupérer sa date de creation
      # si datefichier +1 < maintenant
      # supprimer le fichier$
    # fin pour

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Pour faire suite au pseudo-code de Fifan31, tu peux utiliser os.stat(le_fichier) pour récupérer les statistiques dudit fichier, statistiques contenant, entre autres, sa date de création et/ou de modification...

  6. #6
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mai 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mai 2019
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    bonjour,

    ma question est est ce qu'a la place du fichier la variable peut être prise en compte?

    a la place de

  7. #7
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 478
    Points : 9 278
    Points
    9 278
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    os.remove aura pour argument le nom du fichier avec son chemin sur le disque.
    Si tu n'as que le nom de fichier nom="toto.txt" situé dans repertoire=r"C:\chemin\vers\le\fichier", tu pourras obtenir le nom complet avec fichier=os.path.join(repertoire, nom). Après ça, la variable fichier vaudra r"C:\chemin\vers\le\fichier\toto.txt"

    la date de création locale du fichier sera (en secondes depuis le 1/1/1970) os.path.getctime(fichier)

    Un jour plus tard (24h de 3600secondes/heure = 86400secondes), os.path.getctime(fichier) + 86400

    Et la date du jour de l'ordinateur (en secondes depuis le 1/1/1970): time.time()

    Donc, pour le fichier avec son chemin, la condition pour le supprimer sera:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if os.path.getctime(fichier) + 86400 < time.time():
        os.remove(fichier)

Discussions similaires

  1. Lecture de fichier et placement dans une variable
    Par juniordev dans le forum Débuter
    Réponses: 3
    Dernier message: 18/01/2014, 13h56
  2. Réponses: 1
    Dernier message: 07/09/2009, 11h30
  3. Récupérer le nom du fichier en cours dans une variable.
    Par quiky dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 06/05/2009, 13h28
  4. Réponses: 4
    Dernier message: 26/01/2006, 12h12
  5. Récupérer contenu de fichier dans une variable
    Par peppena dans le forum Linux
    Réponses: 4
    Dernier message: 15/06/2005, 12h50

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