Maison > développement back-end > Tutoriel Python > Comment puis-je obtenir les délais de création et de modification de fichiers multiplateformes en Python ?

Comment puis-je obtenir les délais de création et de modification de fichiers multiplateformes en Python ?

Patricia Arquette
Libérer: 2024-12-12 20:44:10
original
102 Les gens l'ont consulté

How Can I Get File Creation and Modification Times Cross-Platform in Python?

Approche multiplateforme pour récupérer les dates/heures de création et de modification de fichiers

Lorsque vous travaillez avec des fichiers sur différentes plates-formes, il devient essentiel d'accéder leurs horodatages de création et de modification. Pour y parvenir de manière multiplateforme, envisagez les méthodes suivantes :

Dates de modification

L'obtention des dates de modification de fichiers est relativement simple en utilisant os.path.getmtime(path ). Cette méthode renvoie l'horodatage Unix indiquant l'heure de la dernière modification du fichier spécifié par chemin.

Dates de création

La récupération des dates de création de fichiers est plus difficile, car l'approche varie en fonction du système d'exploitation. Voici une répartition :

  • Windows : Utilisez os.path.getctime() ou l'attribut .st_ctime de os.stat().
  • Mac et autres systèmes d'exploitation Unix : Accédez à l'attribut .st_birthtime de os.stat().
  • Linux : Actuellement, l'accès direct aux dates de création n'est pas possible sans écrire une extension C pour Python. Cependant, l'heure mtime du fichier (heure de la dernière modification) peut être obtenue comme alternative.

Implémentation multiplateforme

Pour s'adapter à la date de création dépendante de la plateforme récupération, une fonction multiplateforme comme la suivante peut être utilisée :

import os
import platform

def creation_date(path_to_file):
    """
    Try to get the date that a file was created, falling back to when it was
    last modified if that isn't possible.
    See http://stackoverflow.com/a/39501288/1709587 for explanation.
    """
    if platform.system() == 'Windows':
        return os.path.getctime(path_to_file)
    else:
        stat = os.stat(path_to_file)
        try:
            return stat.st_birthtime
        except AttributeError:
            return stat.st_mtime
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal