如何在 Python 中仅删除回收站中的旧文件?

问题描述 投票:0回答:1

我正在尝试制作一个程序,删除一定天前从回收站中删除的文件。我知道有一个简单的方法可以用 winshell 清空回收站,但我只想删除旧文件。我知道有一种简单的方法可以在普通文件夹中执行此操作,但我不知道如何在不取消隐藏受保护的操作系统文件的情况下获取路径(我不想这样做)。

我该怎么做?

python file-management recycle-bin python-winshell
1个回答
0
投票

你看这里了吗? https://programtalk.com/python-examples/winshell.recycle_bin/?utm_content=cmp-true 或在此处查看回收站的 winshell 文档:https://winshell.readthedocs.io/en/latest/回收站.html

有一个删除文件的示例,按其回收日期排序。我相信你可以用它来做你想做的事。

def test_delete(self):
     self.assertFalse(os.path.exists(self.tempfile))
     recycle_bin = winshell.recycle_bin()
     newest = sorted(recycle_bin.versions(self.tempfile), key=lambda item: item.recycle_date())[-1]
     newest_contents = b("").join(newest.contents())
     recycle_bin.delete_file(self.tempfile)
     self.assertTrue(os.path.exists(self.tempfile))
     self.assertEquals(open(self.tempfile, "rb").read(), newest_contents)
© www.soinside.com 2019 - 2024. All rights reserved.