Python so sánh thời gian sửa đổi tệp với datetime
Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để lấy ngày và giờ sửa đổi lần cuối của tệp cũng như cách chuyển đổi chúng sang các định dạng khác nhau Show
Nhận thời gian sửa đổi cuối cùng của tệp bằng os. thống kê()os.stat(pathOfFile) Nó trả về trạng thái của tệp ở dạng os. đối tượng stat_result. Nó chứa thông tin liên quan đến một tệp như chế độ, loại liên kết, quyền truy cập, thời gian tạo hoặc sửa đổi, v.v. Để nhận thời gian sửa đổi lần cuối từ hệ điều hành. đối tượng stat_result truy cập vào thuộc tính ST_MTIME, chứa thời gian fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime ) Đầu ra. ______2 Nhận thời gian sửa đổi cuối cùng của tệp bằng os. đường dẫn. getmtime()hệ điều hành của Python. mô-đun đường dẫn cung cấp một API khác để tìm nạp thời gian sửa đổi cuối cùng của tệp i. e os.path.getmtime(path) Ở đây, đường dẫn đại diện cho đường dẫn của tệp và nó trả về thời gian sửa đổi cuối cùng của tệp theo số giây kể từ kỷ nguyên. Sau đó, chúng tôi có thể chuyển đổi thời gian kể từ kỷ nguyên sang định dạng dấu thời gian có thể đọc được khác nhau. Hãy xem một ví dụ, Nhận thời gian sửa đổi lần cuối bằng os. đường dẫn. getmtime() & thời gian. giờ địa phương() # Get file's Last modification time stamp only in terms of seconds since epoch modTimesinceEpoc = os.path.getmtime(filePath) # Convert seconds since epoch to readable timestamp modificationTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(modTimesinceEpoc)) print("Last Modified Time : ", modificationTime ) Đầu ra. ______5 thời gian. localtime() chuyển đổi giây kể từ epoch thành struct_time theo múi giờ địa phương. Sau đó, bằng cách chuyển cấu trúc thời gian đó sang thời gian. strftime() chúng ta có thể lấy dấu thời gian ở định dạng có thể đọc được. Bằng cách thay đổi chuỗi định dạng kịp thời. strftime() chúng tôi chỉ có thể lấy ngày và cả ở định dạng khác dành riêng cho ứng dụng của chúng tôi. e # Convert seconds since epoch to Date only modificationTime = time.strftime('%d/%m/%Y', time.localtime(os.path.getmtime(filePath))) print("Last Modified Time : ", modificationTime ) Đầu ra. ______7 Nhận thời gian sửa đổi lần cuối bằng cách sử dụng os. đường dẫn. getmtime() thành datetime. fromtimestamp() thay vì thời gian. localtime() chúng ta cũng có thể sử dụng hàm datetime khác. fromtimestamp() để chuyển đổi số giây kể từ kỷ nguyên thành đối tượng thời gian. Sau đó, chúng ta có thể gọi thời gian. strftime() để chuyển đổi sang định dạng có thể đọc được. Ví dụ, modTimesinceEpoc = os.path.getmtime(filePath) modificationTime = datetime.datetime.fromtimestamp(modTimesinceEpoc).strftime('%Y-%m-%d %H:%M:%S') print("Last Modified Time : ", modificationTime ) Đầu ra. ______5 Lấy thời gian sửa đổi cuối cùng của tệp trong Múi giờ UTC Để có được thời gian sửa đổi cuối cùng trong múi giờ UTC, hãy sử dụng datetime. utcfromtimestamp() tôi. e fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )0 Đầu ra. ______11 Ví dụ hoàn chỉnh như sau, fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )2 Đầu ra. ______13 Quảng cáo Cảm ơn bạn đã đọc. Ví dụ: giả sử rằng một tệp văn bản có tên 'New_Products' được lưu trữ theo đường dẫn sau C. \Users\Ron\Desktop\Test Trường hợp thời gian sửa đổi của tệp là. 2020-12-23 6. 34 giờ chiều New_Products 23-12-2020 6. 34 giờ chiều Tiếp theo, bạn sẽ thấy cách truy xuất thời gian đó bằng Python Bước 2. Nhận thời gian sửa đổi của tệp bằng PythonBạn có thể sử dụng mẫu sau để lấy thời gian sửa đổi của tệp bằng Python fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )4 ví dụ của chúng tôi
Đặt mọi thứ lại với nhau (đừng quên đặt ký tự 'r' trước tên đường dẫn của bạn) fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )5 Ở đây, thời gian được biểu thị bằng giây kể từ kỷ nguyên fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )6 Lưu ý rằng cú pháp print(type(modified_time)) đã được thêm vào cuối mã để kiểm tra loại đối tượng. Trong trường hợp này, loại đối tượng là float Để chuyển đổi thời gian ở trên thành một chuỗi đại diện cho giờ địa phương fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )7 Bây giờ bạn sẽ nhận được chuỗi theo cách sau fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )8 Bước 3 (tùy chọn). Định dạng thời gian sửa đổiĐể định dạng mod_time, chẳng hạn như ddmmyyyy, bạn cần phải
fileStatsObj = os.stat ( filePath ) modificationTime = time.ctime ( fileStatsObj [ stat.ST_MTIME ] ) print("Last Modified Time : ", modificationTime )9 Như bạn có thể thấy, định dạng mới là ddmmyyyy Last Modified Time : Sun Feb 25 15:04:09 20180 Giả sử bạn cũng muốn bao gồm giờ, phút và giây (ngoài ngày). Trong trường hợp đó, hãy sử dụng '%d%m%Y %H. %M. %S‘ như được chụp bên dưới Làm cách nào để có được ngày sửa đổi cuối cùng của tất cả các tệp trong một thư mục bằng Python?Trăn. Nhận ngày và giờ sửa đổi lần cuối của tệp. . tệpStatsObj = os. thống kê ( filePath ). # Nhận tệp Dấu thời gian sửa đổi lần cuối chỉ tính bằng giây kể từ kỷ nguyên. . # Chuyển đổi giây kể từ kỷ nguyên thành Chỉ ngày. . modTimesinceEpoc = os. đường dẫn. . modTimesinceEpoc = os. đường dẫn Có thể so sánh datetime với Python không?So sánh ngày khá dễ dàng trong Python. Có thể dễ dàng so sánh các ngày bằng cách sử dụng các toán tử so sánh (như vv. ) . Hãy xem cách so sánh ngày với sự trợ giúp của mô-đun datetime bằng Python.
Python so sánh giờ và phút như thế nào?Bạn có thể sử dụng ngày giờ. timedelta để so sánh một cách đáng tin cậy. Bạn có thể chỉ định một delta theo các đơn vị thời gian khác nhau (giờ, phút, giây, v.v. ) Sau đó, bạn không phải lo lắng về việc chuyển đổi sang giờ, phút, v.v. |