Python打开(文件,vr)应该更新atime吗?

Python打开(文件,vr)应该更新atime吗?,第1张

概述每当我使用 Python打开()文件时,最后的访问时间都不会更新,这很奇怪: 如果我用r / rb打开,如果我对文件进行统计,则没有任何变化 如果我用w / r或ctime和mtime更新正常但不是atime 它看起来不像是一个文件系统问题(在这种情况下是ext3),因为如果我触摸或捕捉文件它确实正确更新. 我无法找到很多关于它的信息;是应该这样做还是有问题? 请尝试运行mount,并查看是否在已 每当我使用 Python打开()文件时,最后的访问时间都不会更新,这很奇怪:

如果我用r / rb打开,如果我对文件进行统计,则没有任何变化

如果我用w / r或ctime和mtime更新正常但不是atime

它看起来不像是一个文件系统问题(在这种情况下是ext3),因为如果我触摸或捕捉文件它确实正确更新.

我无法找到很多关于它的信息;是应该这样做还是有问题?

解决方法 请尝试运行mount,并查看是否在已安装的fs上使用了noatime标志.此外,如果你的内核足够新鲜,那么它是默认设置的“relatime”.

“open()”代码非常不言自明,不会乱用ATIME标志:

/* >> fileutils.c from Python 3.2.3 */file*_Py_fopen(PyObject *path,const char *mode){#ifdef MS_windows    wchar_t wmode[10];    int usize;    usize = MultiBytetoWIDeChar(CP_ACP,mode,-1,wmode,sizeof(wmode));    if (usize == 0)        return NulL;    return _wfopen(PyUnicode_AS_UNICODE(path),wmode);#else    file *f;    PyObject *bytes = PyUnicode_EncodeFSDefault(path);    if (bytes == NulL)        return NulL;    /* >> Plain fopen(),nothing fancy here. */    f = fopen(PyBytes_AS_STRING(bytes),mode);    Py_DECREF(bytes);    return f;#endif}
总结

以上是内存溢出为你收集整理的Python打开(文件,vr)应该更新atime吗?全部内容,希望文章能够帮你解决Python打开(文件,vr)应该更新atime吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1196625.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-03
下一篇2022-06-03

发表评论

登录后才能评论

评论列表(0条)

    保存