AttributeError: 'nt.stat_result' object has no attribute 'S_IWRITE'
我正在删除一个文件。我检查日期,如果它比我想要的要旧,就删除它。我注意到一个.zip文件没有删除。它是只读的,所以在一些测试代码中,我使用了os.chmod(path,stat.s_iwrite),然后使用os.remove(path),它就工作了。我把这段代码放到主代码中,得到了错误。我在两个模块中都导入了OS和STAT模块。
下面是有效的测试代码,但是当我把它放入更大的代码中时,我得到了错误和完整的代码,这也是一个def:
attributeError:'nt.stat'result'对象没有属性's'iWrite'
我检查过dpath和dayscount正在通过路径和天数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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) |
在这里阅读之后,我发现了一个链接:这个页面上的代码显示了一些导入模块的示例。回答说要在函数中导入模块。我在我的主代码上尝试了这个,它起作用了。
主代码在代码顶部导入操作系统和stat,但这个函数似乎看不到它。我不知道为什么。当我在模块中导入它时,它会看到它。因此,当输入主代码时,我必须将导入添加到模块中,请参见下面的内容。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import os, stat def test_date(): Code for this function def get_month(): Code for this function def del_file(dpath, dayscount): import os, stat print dpath print 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 = 13 del_file(dpath, dayscount) |
号
您正在代码中的某个地方设置一个名为
搜索