2015-05-31 25 views
5

Tôi muốn tìm cách để có được ngày và giờ theo lịch theo giờ: phút: giây cho các gói của tôi được cài đặt qua pip.Nhận ngày và giờ cài đặt cho các gói được cài đặt qua pip

Tôi muốn có thể thấy điều gì đó ở đầu ra như: Tháng/Ngày/Năm - Giờ: Phút: Giây cho mỗi gói.

Cảm ơn!

+1

Tại sao lại quan trọng khi cài đặt? – jonrsharpe

+0

@Ajay, tôi nghĩ rằng anh ấy có nghĩa là những người mà anh ấy đã sử dụng 'pip install ' cho. – IronManMark20

Trả lời

6

Đây có phải là những gì bạn đang tìm kiếm -

import pip 
import os 
import time 

In [139]: for package in pip.get_installed_distributions(): 
    .....:   print "%s: %s" % (package, time.ctime(os.path.getctime(package.location))) 
    .....:  
pyudev 0.17.dev20150317: Tue Mar 17 12:02:58 2015 
python-magic 0.4.6: Fri Mar 20 14:07:59 2015 
runipy 0.1.0: Fri Oct 31 01:49:34 2014 

Nguồn của mã - https://stackoverflow.com/a/24736563/170005

Bạn có thể làm import pip quá, mà là khá thú vị. Tôi không biết điều này.

+0

Điều này thực sự tuyệt vời. Cảm ơn câu trả lời. Vấn đề là tôi cập nhật tất cả các gói đã cài đặt cùng lúc vào Mon Apr 27 15:22:11 2015. "ctime" chỉ được chọn vào lúc này. Tôi sẽ kiểm tra một số tùy chọn os.path để xem có tùy chọn thời gian nào khác không. – wgwz

+0

Có vẻ như chỉ có các tùy chọn khác là 'os.path.getatime' hoặc' getmtime' trả lại thời gian truy cập cuối cùng và thời gian sửa đổi lần cuối. Mà không trả lại ngày cài đặt. Nhưng vẫn gần chết tiệt! – wgwz

+0

@wgwz Thật không may vấn đề là package.location cung cấp cho thư mục nơi gói được cài đặt chứ không phải là đường dẫn đến gói chính nó. Đây là câu trả lời phù hợp hơn với tôi: https://stackoverflow.com/a/44436961/2525237 – sunyata

0

Bạn có thể liệt kê tất cả các địa điểm chứa các gói và sau đó chỉ cần liệt kê tất cả các tập tin trong các thư mục này (cùng với thời gian sáng tạo):

import pip 
import os 
import time 

pkg_location_dir_strset = set() 

for pip_pkg in pip.get_installed_distributions(): 
    if pip_pkg.location not in pkg_location_dir_strset: 
     pkg_location_dir_strset.add(pip_pkg.location) 

for pkg_location_dir_str in pkg_location_dir_strset: 
    print("") 
    print("Directory: " + pkg_location_dir_str) 
    for file_or_dir in os.listdir(pkg_location_dir_str): 
     # print("file_or_dir = " + file_or_dir) 
     file_or_dir_path = os.path.join(pkg_location_dir_str, file_or_dir) 
     print(
      os.path.basename(file_or_dir).ljust(50) 
      + " " + time.ctime(os.path.getctime(file_or_dir_path)) 
     ) 

Cũng check out this answer for an alternative solution mà bạn có thể thích

Hope điều này có ích!

Các vấn đề liên quan