属性错误:'nt.stat U结果'对象没有属性'S'IWRITE'

2024-06-17 11:38:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试删除一个文件。我检查日期,如果它比我想要的要早,就删除它。我注意到一个.zip文件没有删除。它是只读的,所以在一些测试代码中,我使用os.chmod公司(路径,stat.S_IWRITE)然后操作系统删除(路径)而且成功了。我把这段代码放到我的主代码中,得到了错误。我在两者中都导入了os和stat模块。在

下面是有效的测试代码,但是当我把它放到更大的代码中时,我得到了错误和完整的代码,这只是一个定义:

属性错误:'nt.stat U结果'对象没有属性'S'IWRITE'

我已经查过了dpath和dayscount经过的路径和天数。在

import os, stat

def del_file(dpath, dayscount):
    if dayscount > 10:
        if dpath[-4:]== ".zip":
            os.chmod(dpath,stat.S_IWRITE)
            os.remove(dpath)
        else:
            os.remove(dpath)
    else:
        print "File is Good"

dpath = "C:\Workspace\Test_Data.zip"
dayscount = 15
del_file(dpath, dayscount)

在阅读完这里之后,我发现了一个链接:Code on this page,其中显示了一些导入模块的示例。答案是导入函数中的模块。我在我的主代码上尝试了这个,它成功了。在

主代码在代码的顶部导入os和stat,但是这个函数似乎看不到它。我不知道为什么。当我在模块中导入它时,它就会看到它。所以当输入主代码时,我必须将导入添加到模块中,见下文。在

^{pr2}$

Tags: 模块文件代码路径属性os错误zip
1条回答
网友
1楼 · 发布于 2024-06-17 11:38:13

您正在代码中的某个地方设置一个名为stat的变量(为os.stat调用的结果)。此变量使stats模块蒙上阴影。在

搜索stat =,并将变量重命名为另一个名称,如stat_result。在

相关问题 更多 >