Как переименовать файл и сохранить дату создания в Python

#python #filesystems

#python #файловые системы

Вопрос:

Я знаю, что дата создания не сохраняется в самой файловой системе, но я сталкиваюсь с проблемой, заключающейся в том, что при использовании os.rename обновляется дата создания файлов, с которыми я работаю.

Возможно ли переименовать файл без изменения его первоначальной даты создания?

Комментарии:

1. На какой платформе и с какой файловой системой?

2. Считаете ли вы, что время модификации ( st_mtime в struct stat ) изменяется? Или st_ctime ? Или что-то еще?

Ответ №1:

Как сказал Тюдор, вы можете использовать os.stat() и os.utime().

 stat = os.stat(myfile)
# your code - rename access and modify your file
os.utime(my_new_file, (stat.st_atime, stat.st_mtime))
  

Ответ №2:

Вы можете прочитать временную метку перед ее изменением с помощью os.stat() , сохранить ее в переменной som, переименовать файл, затем изменить временную метку newfile на сохраненное значение с помощью os.utime()