python 删除文件到回收站 SHFileOperation

本文介绍了如何使用Python的SHFileOperation函数将文件删除到回收站,而不是直接从磁盘中移除。通过设置特定的标志如FOF_SILENT, FOF_ALLOWUNDO和FOF_NOCONFIRMATION,可以实现静默删除并允许撤销操作。当SHFileOperation成功执行时,它返回0,否则返回非0错误代码。" 134082656,7365366,Qwt图例类QwtLegend和QwtPlotLegendItem详解,"['qt', 'Qwt', '图表组件', '图形用户界面']
摘要由CSDN通过智能技术生成

python如果要删除一个文件,通常使用

os.remove(filename)

但是这样就直接从磁盘删除了。

有些文件需要删除到回收站

方法如下 :

def del_file(filename):

    print('delete file', filename)
    # os.remove(filename) #直接删除文件,不经过回收站
    if not debug:
      res= shell.SHFileOperation((0,shellcon.FO_DELETE,filename,None, shellcon.FOF_SILENT | shellcon.FOF_ALLOWUNDO | shellcon.FOF_NOCONFIRMATION,None,None))  #删除文件到回收站
        if not res[1]:
            os.system('del '+filename)

这个是从网上复制过来的,调用系统shell来删除文件到回收站,

需要安装  

pip install pywin32

重点讲下这个函数 SHFileOperation

 1 typedef struct _SHFILEOPSTRUCT {
 2  HWND hwnd;//指向发送消息的窗口  0
 3  UINT wFunc;//执行的操作        FO_DELETE
 4  LPCTSTR pFrom;//源文件名       filename
 5  LPCTSTR pTo;//目标文件名       None
 6  FILEOP_FLAGS fFlags;//操
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值