Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mendapatkan Penciptaan Fail dan Masa Pengubahsuaian Cross-Platform dalam Python?

Bagaimanakah Saya Boleh Mendapatkan Penciptaan Fail dan Masa Pengubahsuaian Cross-Platform dalam Python?

Patricia Arquette
Lepaskan: 2024-12-12 20:44:10
asal
102 orang telah melayarinya

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

Pendekatan Merentas Platform untuk Mendapatkan Kembali Penciptaan Fail dan Tarikh/Masa Pengubahsuaian

Apabila bekerja dengan fail merentas pelbagai platform, ia menjadi penting untuk mengakses cap masa penciptaan dan pengubahsuaian mereka. Untuk mencapai ini dalam cara merentas platform, pertimbangkan kaedah berikut:

Tarikh Pengubahsuaian

Mendapatkan tarikh pengubahsuaian fail adalah agak mudah menggunakan os.path.getmtime(path ). Kaedah ini mengembalikan cap waktu Unix yang menunjukkan masa pengubahsuaian terakhir bagi fail yang ditentukan oleh laluan.

Tarikh Penciptaan

Mendapatkan semula tarikh penciptaan fail adalah lebih mencabar, kerana pendekatannya berbeza-beza bergantung kepada sistem pengendalian. Berikut ialah pecahan:

  • Windows: Gunakan os.path.getctime() atau atribut .st_ctime os.stat().
  • Mac dan OS Unix Lain: Akses atribut .st_birthtime daripada os.stat().
  • Linux: Pada masa ini, akses terus kepada tarikh penciptaan tidak boleh dilakukan tanpa menulis sambungan C untuk Python. Walau bagaimanapun, masa fail (masa pengubahsuaian terakhir) boleh diperolehi sebagai alternatif.

Pelaksanaan Merentas Platform

Untuk menampung tarikh penciptaan yang bergantung kepada platform mendapatkan semula, fungsi merentas platform seperti berikut boleh digunakan:

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
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Penciptaan Fail dan Masa Pengubahsuaian Cross-Platform dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan