Используйте Python для автоматической очистки системного мусора, не более 360 охранников
В процессе установки и использования Windows генерируется довольно много ненужных файлов, в том числе и временных (таких как:.tmp,._mp) файл журнала (.log), временные файлы справки (.gid), файл проверки диска (.chk), файлы временных резервных копий (такие как:.old, *.bak) и другие временные файлы. Особенно, если временная папка «Временные файлы Интернета» IE не очищается в течение определенного периода времени, кэшированные файлы иногда занимают сотни МБ дискового пространства. Эти LJ-файлы не только тратят драгоценное место на диске, но и могут в тяжелых случаях замедлять работу системы.360 Security Guard чаще всего используется для очистки компьютера от мусора.После завершения очистки освобождается N ГБ места, не говоря уже о том, насколько это удобно. Но как Pythoneer, естественно играть во что-то другое. Я хотел бы представить метод автоматической очистки компьютера от мусора путем выполнения скриптов py с использованием плана задач. Заинтересованные студенты могут попробовать его.
Студенты, не будьте слишком серьезными, метод, представленный в этой статье, определенно не сравним с 360. Давным-давно в Интернете был файл .bat, который может очищать компьютерные ненужные файлы. Основная цель этой статьи — изменить позицию для изучения модуля os Python.
1. Очистить цель
Типы файлов на системном диске %system%:
【临时文件(*.tmp)】
【临时文件(*._mp)】
【日志文件(*.log)】
【临时帮助文件(*.gid)】
【磁盘检查文件(*.chk)】
【临时备份文件(*.old)】
【Excel备份文件(*.xlk)】
【临时备份文件(*.bak)】
Каталог пользователя Папка %userprofile%
【COOKIE】 cookies\*.*
【文件使用记录】 recent\*.*
【IE临时文件】 Temporary Internet Files\*.*
【临时文件文件夹】 Temp\*.*.
Папки в каталоге Windows %windir%
【预读取数据文件夹】 prefetch\*.*
【临时文件】 temp\*.*
Python os
Модуль ОС Python предоставляет очень богатый метод обработки файлов и каталогов. Он адаптируется к различным платформам операционных систем и выполняет соответствующие операции в соответствии с различными платформами. При программировании на python он часто имеет дело с файлами и каталогами. В настоящее время неотделим от модуль ОС.
Не буду вводить слишком подробно.Вы можете посмотреть официальные документы,и нет необходимости их внимательно изучать.Достаточно знать какой из них используется и как это проверить.
https://docs.python.org/zh-cn/3/library/os.html
Скрипт Python
Лучше строить колеса, чем стоять на плечах гигантов, и обнаружить, что это уже написали блогеры, но это написано на Python2, только поменяйте место печати.
import os
del_extension = {
'.tmp': '临时文件',
'._mp': '临时文件_mp',
'.log': '日志文件',
'.gid': '临时帮助文件',
'.chk': '磁盘检查文件',
'.old': '临时备份文件',
'.xlk': 'Excel备份文件',
'.bak': '临时备份文件bak'
}
del_userprofile = ['cookies', 'recent', 'Temporary Internet Files', 'Temp']
del_windir = ['prefetch', 'temp']
SYS_DRIVE = os.environ['systemdrive'] + '\\'
USER_PROFILE = os.environ['userprofile']
WIN_DIR = os.environ['windir']
def del_dir_or_file(root):
try:
if os.path.isfile(root):
os.remove(root)
print ("file",root,"removed")
elif os.path.isdir(root):
os.rmdir(root)
print("dir",root,"removed")
except WindowsError:
print("failure",root,"can't remove")
def formatSize(b):
try:
kb = b // 1024
except:
print("传入字节格式不对")
return "Error"
if kb > 1024:
M = kb // 1024
if M > 1024:
G = M // 1024
return "%dG" % G
else:
return "%dM" % M
else:
return "%dkb" % kb
class DiskClean(object):
def __init__(self):
self.del_info = {}
self.del_file_paths = []
self.total_size = 0
for i,j in del_extension.items():
self.del_info[i] = dict(name = j,count = 0 )
def scanf(self):
for roots,dirs,files in os.walk(USER_PROFILE):
for files_item in files:
file_extension = os.path.splitext(files_item)[1]
if file_extension in self.del_info:
file_full_path = os.path.join(roots,files_item)
self.del_file_paths.append(file_full_path)
self.del_info[file_extension]['count'] += 1
self.total_size += os.path.getsize(file_full_path)
def show(self):
re = formatSize(self.total_size)
for i in self.del_info:
print(self.del_info[i]["name"],"共计",self.del_info[i]["count"],"个")
return re
def delete_files(self):
for i in self.del_file_paths:
print(i)
del_dir_or_file(i)
if __name__ == "__main__":
print("初始化清理垃圾程序")
cleaner = DiskClean()
print("开始扫描垃圾文件请耐心等待\n")
cleaner.scanf()
print("扫描成功,结果如下")
re = cleaner.show()
cleaner.delete_files()
После вызова сохраните его как kill360.py и сохраните в рабочий каталог python.Если вы не знаете рабочий каталог, вы можете запустить os.getcwd() для его просмотра. Кроме того, вам необходимо убедиться, что каталог установки python был добавлен в системную переменную path.Метод: Щелкните правой кнопкой мыши на компьютере, чтобы открыть Мой компьютер (этот компьютер)\Свойства\Дополнительные параметры системы\Переменные среды
cmd откройте командную строку и введите команду python, как показано на следующем рисунке, она прошла успешно:
Затем создайте новый файл kill360.bat и введите следующее содержимое:
python clean.py
Поместите его в рабочий каталог вместе с файлом .py.
Затем откройте планировщик заданий
Создавайте задачи и настраивайте процесс
Затем сядьте поудобнее и расслабьтесь.