Python lấy danh sách các tệp trong thư mục được sắp xếp theo thời gian

Tôi cần tạo trình xem hình ảnh của riêng mình như một phần của quy trình tạo nội dung, điều đó có nghĩa là tôi cần một danh sách hình ảnh

Vấn đề đầu tiên là, tôi cần lấy hình ảnh PNG, JPG và GIF, tất cả trong cùng một danh sách

Thử thách thứ hai, tôi cần chúng được sắp xếp, nhưng không muốn chúng theo thứ tự bảng chữ cái

Vì vậy, đây là giải pháp

Lấy danh sách các tập tin

sử dụng Glob, chúng tôi có thể nhận được danh sách các tệp không bao gồm các thư mục và những tệp bắt đầu bằng .

Và sử dụng

Mon Oct 23 18:01:25 2017 sorted_ls.py
0 chúng ta có thể bắt đầu thêm vào danh sách này

Sắp xếp danh sách tập tin

Bây giờ, tại thời điểm này, chúng ta lần lượt có từng loại tệp

Sử dụng

Mon Oct 23 18:01:25 2017 sorted_ls.py
1, ừm, sắp xếp thứ đó cho chúng tôi, bit theo thứ tự bảng chữ cái

thứ tự sửa đổi

May mắn thay,

Mon Oct 23 18:01:25 2017 sorted_ls.py
2 chấp nhận tham số
Mon Oct 23 18:01:25 2017 sorted_ls.py
3, đây là một chức năng được yêu cầu cho mỗi mục nhập để tạo phân loại. Whala, chúng tôi có khả năng sắp xếp theo
Mon Oct 23 18:01:25 2017 sorted_ls.py
4 - thời gian sửa đổi

Tôi cần tạo trình xem hình ảnh của riêng mình như một phần của quy trình tạo nội dung, điều đó có nghĩa là tôi cần một danh sách hình ảnh

Vấn đề đầu tiên là, tôi cần lấy hình ảnh PNG, JPG và GIF, tất cả trong cùng một danh sách

Thử thách thứ hai, tôi cần chúng được sắp xếp, nhưng không muốn chúng theo thứ tự bảng chữ cái

Vì vậy, đây là giải pháp

Lấy danh sách các tập tin

sử dụng Glob, chúng tôi có thể nhận được danh sách các tệp không bao gồm các thư mục và những tệp bắt đầu bằng .

Và sử dụng

Mon Oct 23 18:01:25 2017 sorted_ls.py
0 chúng ta có thể bắt đầu thêm vào danh sách này

Sắp xếp danh sách tập tin

Bây giờ, tại thời điểm này, chúng ta lần lượt có từng loại tệp

Sử dụng

Mon Oct 23 18:01:25 2017 sorted_ls.py
1, ừm, sắp xếp thứ đó cho chúng tôi, bit theo thứ tự bảng chữ cái

thứ tự sửa đổi

May mắn thay,

Mon Oct 23 18:01:25 2017 sorted_ls.py
2 chấp nhận tham số
Mon Oct 23 18:01:25 2017 sorted_ls.py
3, đây là một chức năng được yêu cầu cho mỗi mục nhập để tạo phân loại. Whala, chúng tôi có khả năng sắp xếp theo
Mon Oct 23 18:01:25 2017 sorted_ls.py
4 - thời gian sửa đổi

Để có danh sách thư mục được sắp xếp theo ngày tạo trong Python, bạn có thể gọi os. listdir[] để lấy danh sách tên tệp. Sau đó gọi hệ điều hành. stat[] cho mỗi cái để lấy thời gian tạo và cuối cùng sắp xếp theo thời gian tạo.  

thí dụ

import os
import time
import sys
from stat import S_ISREG, ST_CTIME, ST_MODE
dir_path = '.'
# get all entries in the directory
entries = [os.path.join[dir_path, file_name] for file_name in os.listdir[dir_path]]
# Get their stats
entries = [[os.stat[path], path] for path in entries]
# leave only regular files, insert creation date
entries = [[stat[ST_CTIME], path]
           for stat, path in entries if S_ISREG[stat[ST_MODE]]]
print[entries]

đầu ra

Chạy đoạn mã trên sẽ cung cấp cho bạn danh sách được sắp xếp theo ngày tạo, ví dụ:

Mon Oct 23 18:01:25 2017 sorted_ls.py

Cập nhật ngày 18-Feb-2020 05. 38. 28

con trăn. Nhận danh sách thư mục được sắp xếp theo ngày tạoCập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21. 51. 43 [UTC/GMT +8 giờ]

Python cơ bản. Bài tập-71 có lời giải

Viết chương trình Python để lấy danh sách thư mục, được sắp xếp theo ngày tạo

Giải pháp mẫu-1

Mã Python

from stat import S_ISREG, ST_CTIME, ST_MODE
import os, sys, time

#Relative or absolute path to the directory
dir_path = sys.argv[1] if len[sys.argv] == 2 else r'.'

#all entries in the directory w/ stats
data = [os.path.join[dir_path, fn] for fn in os.listdir[dir_path]]
data = [[os.stat[path], path] for path in data]

# regular files, insert creation date
data = [[stat[ST_CTIME], path]
           for stat, path in data if S_ISREG[stat[ST_MODE]]]

for cdate, path in sorted[data]:
    print[time.ctime[cdate], os.path.basename[path]]
	

Đầu ra mẫu

Mon Feb 22 16:11:49 2016 .bash_logout                                                                         
Mon Feb 22 16:11:49 2016 .bashrc                                                                              
Mon Feb 22 16:11:49 2016 .profile                                                                             
Mon May 30 11:45:34 2016 .mysql_history                                                                       
Sat Aug 13 11:37:48 2016 logging_example.out                                                                  
Tue Sep 13 10:56:31 2016 result.txt                                                                           
Tue Sep 20 18:00:14 2016 dddd.txt        
-------
Tue Apr 18 15:06:27 2017 abc.txt                                                                              
Wed Apr 19 13:46:47 2017 .bash_history                                                                        
Wed Apr 19 15:15:52 2017 test.txt                                                                             
Wed Apr 19 16:58:20 2017 4ab8fe20-24f3-11e7-afe4-85767fd0ee52.py  

Sơ đồ


Dung dịch mẫu-2

Mã Python

import os
import time
paths = ["%s %s" % [time.ctime[t],f] for t, f in
sorted[[[os.path.getctime[x],x] for x in os.listdir["."]]]]
print["Directory listing, sorted by creation date:"]
for x in range[len[paths]]:
    print[paths[x],]
	

Đầu ra mẫu

Directory listing, sorted by creation date:
Mon May 31 13:29:45 2021 main.py 

Sơ đồ


Trình chỉnh sửa mã Python

 

Có một cách khác để giải quyết giải pháp này?

Trước. Viết chương trình Python để sắp xếp các tệp theo ngày.
Tiếp theo. Viết chương trình Python để lấy thông tin chi tiết của mô-đun toán học.

Mức độ khó của bài tập này là gì?

Dễ dàng trung bình khó

Kiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource



Chia sẻ Hướng dẫn / Bài tập này trên. FacebookTwitter

con trăn. Lời khuyên trong ngày

Đảo ngược dữ liệu [Slice Notation]

Đảo ngược thông qua cắt lát

str="Welcome"

x=str[::-1]
print[x]

đầu ra

emocleW
Đang tải.

 

  • bài tập. Top 16 chủ đề phổ biến nhất hàng tuần
  • Bài tập SQL, Thực hành, Lời giải - THAM GIA
  • Bài tập, Thực hành, Giải pháp SQL - SUBQUERIES
  • JavaScript cơ bản - Bài tập, Thực hành, Lời giải
  • Mảng Java. Bài tập, Luyện tập, Lời giải
  • Bài Tập Lập Trình C, Thực Hành, Lời Giải. Tuyên bố có điều kiện
  • Cơ sở dữ liệu nhân sự - SORT FILTER. Bài tập, Luyện tập, Lời giải
  • Bài Tập Lập Trình C, Thực Hành, Lời Giải. Sợi dây
  • Kiểu dữ liệu Python. Từ điển - Bài tập, Thực hành, Lời giải
  • Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
  • Mảng C++. Bài tập, Luyện tập, Lời giải
  • Câu lệnh điều kiện và vòng lặp JavaScript - Bài tập, Thực hành, Lời giải
  • Thuật toán cơ bản C# Sharp. Bài tập, Luyện tập, Lời giải
  • Python Lambda - Bài tập, Thực hành, Giải pháp
  • Khung dữ liệu Python Pandas. Bài tập, Luyện tập, Lời giải
  • Công cụ chuyển đổi
  • JavaScript. Xác thực biểu mẫu HTML

Chủ Đề