Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah saya boleh mendapatkan senarai fail yang diisih dalam direktori mengikut tarikh penciptaan menggunakan Python?

Bagaimanakah saya boleh mendapatkan senarai fail yang diisih dalam direktori mengikut tarikh penciptaan menggunakan Python?

Mary-Kate Olsen
Lepaskan: 2024-11-09 12:02:02
asal
832 orang telah melayarinya

How can I get a sorted list of files in a directory by creation date using Python?

Mendapatkan Penyenaraian Direktori Diisih Mengikut Tarikh Penciptaan Menggunakan Python

Apabila menavigasi direktori, keperluan sering timbul untuk mendapatkan senarai kandungannya yang diisih mengikut kriteria tertentu, seperti tarikh penciptaan. Dalam Python, tugas ini boleh dicapai dengan mudah.

Pendekatan Cadangan:

Untuk mencapai matlamat ini, gabungan modul manipulasi sistem fail terbina Python dan fungsi pengisihan ialah bekerja. Coretan kod berikut menggambarkan proses ini:

import glob
import os

search_dir = "/mydir/"
files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))
Salin selepas log masuk

Coretan kod ini bermula dengan mendapatkan senarai semua fail dalam direktori yang ditentukan menggunakan os.listdir(). Selepas itu, sebarang item bukan fail (cth., direktori, pautan) ditapis menggunakan os.path.isfile(). Untuk memastikan laluan fail yang betul, setiap nama fail diawali dengan laluan direktori carian.

Fail kemudian diisih mengikut masa pengubahsuaiannya menggunakan fungsi os.path.getmtime(). Fungsi ini mengembalikan masa pengubahsuaian terakhir fail dalam format angka. Dengan menghantar fungsi ini sebagai hujah utama kepada fungsi sorted(), fail disusun dalam susunan kronologi, dengan fail yang paling baru dibuat muncul dahulu.

Pendekatan Alternatif:

Pendekatan alternatif melibatkan penggunaan modul glob untuk menapis fail dan mendapatkan senarai laluan fail mutlak:

import glob
import os

search_dir = "/mydir/"
# This glob will look for all files and exclude any directories
files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)]
files.sort(key=lambda x: os.path.getmtime(x))
Salin selepas log masuk

Kod ini pada asasnya mencari keseluruhan kandungan direktori yang ditentukan dan subdirektorinya, termasuk semua fail dan tidak termasuk mana-mana direktori. Fungsi glob.glob() membolehkan padanan nama fail yang lebih fleksibel jika diperlukan.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mendapatkan senarai fail yang diisih dalam direktori mengikut tarikh penciptaan menggunakan 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