python - 删除临时文件并清空回收站_Python 3?
问题描述
想知道是否有人可以帮助批评我整理的这段代码。
假设删除所有临时文件和文件夹,然后清空回收站。
由于使用 Pyinstaller,我不得不进行一些调整,并且我希望控制台保持打开状态并让用户在阅读后继续操作。
import os
file_size = os.path.getsize('C:\Windows\Temp')
print(str(file_size) + "kb of data will be removed")
import os, subprocess
del_dir = r'c:\windows\temp'
pObj = subprocess.Popen('rmdir /S /Q %s' % del_dir, shell=True, stdout =
subprocess.PIPE, stderr= subprocess.PIPE)
rTup = pObj.communicate()
rCod = pObj.returncode
if rCod == 0:
print('Success: Cleaned Windows Temp Folder')
else:
print('Fail: Unable to Clean Windows Temp Folder')
import winshell
winshell.recycle_bin().empty(confirm=False, show_progress=False,
sound=False)
from random import randint
from time import sleep
sleep(randint(4,6))
input("Press any key to continue")
解决方案
您应该查看标准库中的以下模块:
shutil
提供对文件系统的高级操作(删除树等)。 https://docs.python.org/3.6/library/shutil.html#module-shutiltempfile
提供对临时文件的更好处理。https://docs.python.org/3.6/library/tempfile.html#module-tempfileatexit
提供了在退出 Python 解释器之前执行的函数注册表,不管是什么原因。https://docs.python.org/3.6/library/atexit.html?highlight=atexit#module-atexit
推荐阅读
- javascript - 将元素添加到现有的 React DropdownButton
- android - 为什么离子按钮和离子徽章垂直未对齐
- x86-64 - 使用 iced_x86 反汇编时如何处理 exe 的标头?
- powershell - 为什么我的 elseif 块在指定 -WhatIf 时运行
- java - 如何更改已在 Play 商店发布的应用的签名密钥?contentProvider 还有另一种有效的替代方案吗?
- discord - 无法编译:模块 Discord 未定义 Discord 类型
- javascript - 如果对象值改变,数组值改变
- java - 如何使用二维数组初始化二维数组列表?
- cadence-workflow - Difference between Async.function and Async.procedure in cadence
- javascript - 将 reducer 与具有可变键名的对象一起使用