Определение даты доступа к файлу
    
  ![]()  | 
Наши проекты:
 Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту  | 
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS | 
| [216.73.216.5] | 
 
 | 
		
  | 
    Определение даты доступа к файлу
    
  | 
         | 
    |
| 
         | 
      
          Здравствуйте! 
        
      Нашел в интернете следующие способы определения времени создания, модификации и последнего доступа к файлу: ![]() ![]() import os import stat import datetime file_path = "V:/TestPrograms/Файл-даты создания и модификации.txt" create_time = os.path.getctime(file_path) formatted_time = datetime.datetime.fromtimestamp(create_time) print("Date created: ", formatted_time) modTimesinceEpoc = os.path.getmtime(file_path) modificationTime = datetime.datetime.fromtimestamp(modTimesinceEpoc).strftime('%Y-%m-%d %H:%M:%S') print("Last Modified Time : ", modificationTime ) fileStatsObj = os.stat ( file_path ) # Get last access time accessTime = datetime.datetime.ctime ( fileStatsObj [ stat.ST_ATIME ] ) #accessTime = datetime.time.ctime ( fileStatsObj [ stat.ST_ATIME ] ) print ("Last Access Time : ", accessTime ) ![]() ![]() File "E:\MyProgramming\pyPyCharm\.venv\Scripts\TestPy.py", line 15, in <module>     accessTime = datetime.datetime.ctime ( fileStatsObj [ stat.ST_ATIME ] )                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: descriptor 'ctime' for 'datetime.datetime' objects doesn't apply to a 'int' object Date created:  2023-07-19 14:54:31.423644 Last Modified Time :  2023-07-19 15:00:00 Process finished with exit code 1 Прикреплённый файл  File.7z (323 байт, скачиваний: 62)
		   | 
    
| 
         
         
         
          
           Сообщ.
           #2
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Я в питоне ещё пока сильно не поднаторел, но обычно делаю так: 
        
      копирую полный текст ошибки в поиск в гугле. и частенько нахожу решение в тырнете. на твой вопрос решение может быть тут https://stackoverflow.com/questions/6643149...esnt-apply-to-a Ищите и обрящете! © Song     | 
    
| 
         
         
         
          
           Сообщ.
           #3
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          tumanovalex, ты используешь слишком много разных инструментов одновременно, и это тебя запутывает. 
        
      В модуле os, функции stat (следует символическим ссылкам), lstat (не следует символическим ссылкам), fstat (работает с дескрипторами файлов) возвращают объект типа stat_result (похоже, кортеж с именованными полями). Этот объект имеет поля st_atime, st_ctime и st_mtime, содержащие, соответственно, время последнего обращения, создания и модификации, выраженные в секундах. Имеются также поля st_atime_ns, st_ctime_ns и st_mtime_ns, содержащие те же времена, выраженные в наносекундах. Ошибкаб о которой тебе сообщают, состоит в том, что к целым надо применять функцию ctime из модуля time, а ты пытаешься применить к ним метод объекта datetime, работающий с внутренностями объекта  | 
    
| 
         
         
         
          
           Сообщ.
           #4
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Я немного изменил код автора 
        
      ![]() ![]() import os import time import datetime file_path = "V:/TestPrograms/Файл-даты создания и модификации.txt" create_time = os.path.getctime(file_path) formatted_time = datetime.datetime.fromtimestamp(create_time) print("Дата создания: ", formatted_time) modTimesinceEpoc = os.path.getmtime(file_path) modificationTime = datetime.datetime.fromtimestamp(modTimesinceEpoc).strftime('%Y-%m-%d %H:%M:%S') print("Дата изменения : ", modificationTime ) accessTimesinceEpoc = os.path.getatime(file_path) accessTime = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(accessTimesinceEpoc)) print ("Дата последнего обращения : ", accessTime )  | 
    
| 
         
         
         
          
           Сообщ.
           #5
          
          , 
          
         
         
        
       | 
    |
| 
         | 
      
          Мой вопрос был глупым, надо было 
        
      ![]() ![]() formatted_time = datetime.datetime.fromtimestamp(create_time).strftime('%Y-%m-%d %H:%M:%S')  |