是否可以让脚本删除自己的文件夹?显然这里有一些问题,但我觉得这可能是可能的。
本质上,我要创建的是一个脚本,一旦完成,它就会删除它自己的文件夹和其他一些文件。但我主要是在试图告诉它删除自己作为关闭自己的方法时遇到问题。
作为最后一个动作,或者在某种意义上告诉电脑在它关闭后再做一个动作
任何帮助将不胜感激:)
Tltr; 应用程序可以在关闭后告诉 Windows 执行命令吗?
是否可以让脚本删除自己的文件夹?显然这里有一些问题,但我觉得这可能是可能的。
本质上,我要创建的是一个脚本,一旦完成,它就会删除它自己的文件夹和其他一些文件。但我主要是在试图告诉它删除自己作为关闭自己的方法时遇到问题。
作为最后一个动作,或者在某种意义上告诉电脑在它关闭后再做一个动作
任何帮助将不胜感激:)
Tltr; 应用程序可以在关闭后告诉 Windows 执行命令吗?
你的意思是它会删除整个文件夹,包括脚本本身?
为什么不使用首先执行脚本的cmd
或batch
文件(在 Windows 上;bash
*nix 上的脚本)调用脚本,然后再执行您想做的任何清理工作?包装文件可以存在于另一个目录中,因此它也不会被删除。
是的,你可以这样做。脚本在运行时将被加载到内存中,因此它可以直接从脚本中删除其父目录(以及其自身)而不会出现任何问题。只需使用shutil.rmtree
而不是os.rmdir
,因为os.rmdir
无法删除非空目录。
这是一个可以做到这一点的单线器(小心在一个目录中运行它,其中包含您不想删除的内容!)
shutil.rmtree(os.path.dirname(os.path.realpath(__file__)))