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

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

被折叠的 条评论
为什么被折叠?



