我正在尝试删除一个文件。我检查日期,如果它比我想要的要早,就删除它。我注意到一个.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}$
您正在代码中的某个地方设置一个名为
stat
的变量(为os.stat
调用的结果)。此变量使stats模块蒙上阴影。在搜索
stat =
,并将变量重命名为另一个名称,如stat_result
。在相关问题 更多 >
编程相关推荐