Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Dateierstellungs- und Änderungszeiten plattformübergreifend in Python ermitteln?

Wie kann ich Dateierstellungs- und Änderungszeiten plattformübergreifend in Python ermitteln?

Patricia Arquette
Freigeben: 2024-12-12 20:44:10
Original
109 Leute haben es durchsucht

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

Plattformübergreifender Ansatz zum Abrufen von Dateierstellungs- und Änderungsdaten/-zeiten

Bei der Arbeit mit Dateien auf verschiedenen Plattformen ist der Zugriff unerlässlich ihre Erstellungs- und Änderungszeitstempel. Um dies plattformübergreifend zu erreichen, sollten Sie die folgenden Methoden in Betracht ziehen:

Änderungsdaten

Das Abrufen von Dateiänderungsdaten ist mit os.path.getmtime(path) relativ einfach ). Diese Methode gibt den Unix-Zeitstempel zurück, der die letzte Änderungszeit der durch den Pfad angegebenen Datei angibt.

Erstellungsdaten

Das Abrufen von Dateierstellungsdaten ist schwieriger, da der Ansatz unterschiedlich ist abhängig vom Betriebssystem. Hier ist eine Aufschlüsselung:

  • Windows: Verwenden Sie os.path.getctime() oder das .st_ctime-Attribut von os.stat().
  • Mac und andere Unix-Betriebssysteme: Greifen Sie auf das .st_birthtime-Attribut von zu os.stat().
  • Linux: Derzeit ist kein direkter Zugriff auf Erstellungsdaten möglich, ohne eine C-Erweiterung für Python zu schreiben. Alternativ kann jedoch auch die mtime-Zeit (Zeitpunkt der letzten Änderung) der Datei ermittelt werden.

Plattformübergreifende Implementierung

Zur Berücksichtigung des plattformabhängigen Erstellungsdatums Beim Abrufen kann eine plattformübergreifende Funktion wie die folgende eingesetzt werden:

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
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Dateierstellungs- und Änderungszeiten plattformübergreifend in Python ermitteln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage