Можно ли каким-то образом удалить определенные файлы после закрытия окна программы tkinter
Можно ли каким-то образом удалить определенные файлы после закрытия окна программы tkinter
Ответы (2 шт):
Автор решения: passant
→ Ссылка
А причем тут tkinter к файлу или его удалению? Удаление файлов в Python выполняется функцией
os.remove(file_path)
из соответствующей библиотеки и никакого отношения к tkinter не имеет.
Автор решения: insolor
→ Ссылка
Можно удаление поставить в строке ниже той, где вызывается mainloop (эта функция работает все время, пока существует главное окно; когда окно закрывается, выполнение функции mainloop завершается):
import tkinter as tk
import os
root = tk.Tk()
# Создаем файл
with open("some_file.txt", "w") as file:
pass
root.mainloop()
# Удаляем файл
os.remove("some_file.txt")
Либо привязать к "событию" закрытия выполнение какой-то функции:
import tkinter as tk
import os
root = tk.Tk()
with open("some_file.txt", "w") as file:
pass
def on_closing():
os.remove("some_file.txt")
root.protocol("WM_DELETE_WINDOW", on_closing)
root.mainloop()
Также можно привязать действие к завершению приложения (не обязательно оконного) с помощью стандартного модуля ataxit:
import tkinter as tk
import os
import atexit
root = tk.Tk()
with open("some_file.txt", "w") as file:
pass
def on_closing():
os.remove("some_file.txt")
atexit.register(on_closing)
root.mainloop()