gpt4 book ai didi

python - AttributeError: 'nt.stat_result' 对象没有属性 'S_IWRITE'

转载 作者:太空宇宙 更新时间:2023-11-03 19:16:38 25 4
gpt4 key购买 nike

我正在尝试删除文件。我检查日期并删除它,如果它比我想要的早。我注意到有一个 .zip 文件没有被删除。它是只读的,因此在一些测试代码中,我使用了 os.chmod(path, stat.S_IWRITE) 然后使用 os.remove(path) 并且它起作用了。我将此代码放入我的主代码中并收到错误。我在两者中导入了 os 和 stat 模块。

下面是有效的测试代码,但是当我将其放入更大的代码中时,我收到了错误,完整的代码也只是一个 def:

属性错误:“nt.stat_result”对象没有属性“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,但是这个函数好像没有看到。我不知道为什么。当我将其导入模块时,它就会看到它。因此,当放入主代码时,我必须将导入添加到模块中,请参见下文。

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)

最佳答案

您正在代码中的某处设置一个名为 stat 的变量(作为 os.stat 调用的结果)。该变量掩盖了统计模块。

搜索 stat = 并将变量重命名为其他名称,例如 stat_result

关于python - AttributeError: 'nt.stat_result' 对象没有属性 'S_IWRITE',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11141940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com