Maison >développement back-end >Tutoriel Python >Comment puis-je obtenir de manière fiable les horodatages de création et de modification d'un fichier sur différents systèmes d'exploitation ?

Comment puis-je obtenir de manière fiable les horodatages de création et de modification d'un fichier sur différents systèmes d'exploitation ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-12 21:49:10998parcourir

How Can I Get a File's Creation and Modification Timestamps Reliably Across Different Operating Systems?

Accès aux dates/heures de création et de modification de fichiers multiplateformes

La récupération des dates/heures de modification de fichiers multiplateformes est simple avec os.path .getmtime(chemin). Pour une approche plus granulaire, tenez compte des nuances suivantes :

Windows

Pour les dates de création sous Windows, utilisez os.path.getctime(path). On récupère ainsi "l'heure de création" (ctime) du fichier, spécifique à Windows.

Mac et Unix (sauf Linux)

Accès aux dates de création via le .st_birthtime attribut de os.stat() résultat.

Linux

Malheureusement, récupérer les dates de création sous Linux n'est actuellement pas réalisable sans implémenter une extension Python C. L'accès à st_crtime, qui stocke les dates de création sur les systèmes de fichiers Linux, est limité par les limitations du noyau Linux. En guise de solution de repli, utilisez os.path.getmtime() pour obtenir l'horodatage de modification du contenu.

Pour couvrir toutes les plateformes, une approche polyvalente pourrait être :

import os
import platform

def creation_date(path):
    if platform.system() == 'Windows':
        return os.path.getctime(path)
    else:
        stat = os.stat(path)
        try:
            return stat.st_birthtime
        except AttributeError:
            return stat.st_mtime

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!

Déclaration:
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