Maison > développement back-end > Tutoriel Python > Comment puis-je récupérer de manière cohérente les dates de création et de modification des fichiers sous Linux et Windows ?

Comment puis-je récupérer de manière cohérente les dates de création et de modification des fichiers sous Linux et Windows ?

DDD
Libérer: 2024-12-15 04:26:12
original
596 Les gens l'ont consulté

How Can I Consistently Retrieve File Creation and Modification Dates Across Linux and Windows?

Récupération multiplateforme des dates de création et de modification de fichiers

La détermination des dates/heures de création et de modification de fichiers de manière cohérente sur toutes les plateformes a été un défi persistant . Voici une présentation complète des meilleures approches pour Linux et Windows :

Obtention des dates de modification des fichiers

La récupération de l'horodatage de la dernière modification est simple sous Linux et Windows. Utilisez simplement la fonction os.path.getmtime(path). Il renvoie l'horodatage Unix de la modification la plus récente apportée au fichier au chemin spécifié.

Obtention des dates de création de fichiers

L'extraction des dates de création de fichiers s'avère cependant plus complexe et dépendant de la plateforme :

  • Windows :
    Windows maintient une création date (ctime) pour les fichiers. Accédez à ces informations via os.path.getctime(path) ou l'attribut .st_ctime du résultat depuis os.stat().
  • Mac :
    MacOS et certains systèmes basés sur Unix les systèmes fournissent un attribut .st_birthtime qui stocke la création du fichier date.
  • Linux :
    Actuellement, déterminer les dates de création de fichiers sous Linux n'est pas possible sans écrire une extension C pour Python. Cependant, le noyau Linux renvoie l'horodatage de la dernière modification du fichier via st_mtime, qui peut servir de proxy raisonnable.

Compatibilité multiplateforme

Pour les compatibilité de la plate-forme, considérez le code suivant :

import os
import platform

def creation_date(path_to_file):
    """
    Retrieve the date the file was created.
    If not possible, fall back to the last modified date.
    """
    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:
            # Assuming Linux, fall back to modification date
            return stat.st_mtime
Copier après la connexion

En tirant parti des techniques spécifiques à la plate-forme et en gérant les exceptions de manière appropriée, ce code permet une récupération cohérente des dates de création et de modification des fichiers sous Linux et Windows.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal