我正在尝试以下代码:
os.stat(path_name)[stat.ST_CTIME] = ctime
但是,这产生以下错误:
exceptions.TypeError: 'posix.stat_result' object does not support item assignment
反正有修改ctime吗?
谢谢!
最佳答案
os.utime(filename, timetuple)
可用于设置文件的atime和mtime。据我所知,没有办法在没有使用hack的情况下从用户域修改ctime,例如玩时钟或文件系统的直接版本(我不建议这样做),这对于任何编程语言都是正确的(Python) ,Perl,C,C ++ ...):它是内部操作系统的东西,您不想碰它。
例如,请参见touch
命令的文档(http://www.delorie.com/gnu/docs/fileutils/fileutils_54.html):
尽管touch提供了以下选项
改变两次-时代
最后访问和修改的
一个文件,实际上有第三个
以及:inode更改时间。这个
通常称为文件的
ctime。索引节点更改时间
表示文件的
元信息上次更改。一
常见的例子是
文件更改权限。改变中
权限无法访问
文件,因此atime不会更改,也不会
它会修改文件吗,所以mtime
不会改变。但是,关于
文件本身已更改,这
必须在某处注明。这是
ctime字段的工作。这是
必要的,例如
备份程序可以进行全新复制
的文件,包括新的
权限值。另一操作
无需修改文件的ctime
重命名其他人。在
无论如何,在
正常操作,供用户
将ctime字段更改为
用户指定的值。
关于python - 无论如何,是否可以使用Python或任何语言手动修改统计信息,例如mtime或ctime?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5803765/