У меня есть скрипт python для удаления файлов по расширению (т.е. удаление всех файлов, которые заканчиваются на .com
, .html
и т. д.). В настоящее время у меня есть кортеж, и пользователь должен закомментировать или удалить файлы, которые он или она не хочет удалять. Например, если они хотят сохранить .com
файлов, они должны закомментировать их в моем сценарии. Я хотел бы создать графический интерфейс с tkinter, который позволяет пользователю проверять, какие расширения они хотят удалить.
Моя цель — поместить проверяемые переменные в кортеж, где я могу использовать команду .endswith()
для os.remove()
файлов, которые заканчиваются расширениями, указанными в кортеже.
Без графического интерфейса это легко сделать, так как я просто определяю свой кортеж в серии str
строк. Я мог бы просто сказать:
Files_to_Delete = (".com", ".html")
Но при попытке использовать tk.Checkbutton()
я получаю сообщение об ошибке:
кортеж для endwith должен содержать только строку str, а не StringVar
Я думаю, что у меня есть мозги, как решить эту проблему. Моя кнопка определяется, как показано ниже:
V1 = tk.StringVar()
c1=tk.Checkbutton(root, text=".com", variable=V1, onvalue=".com")
Files_to_Delete = (V1, V2)
наFiles_to_Delete = (V1.get()), V2.get())
, думая, что это блестяще! Когда я запустил свой скрипт, он просто очистил всю папку, а не только файлы с расширениями, определенными кнопкой tk.Checkbutton. Может быть, я не совсем понимаю, какstr
-ify мои переменные tk.Checkbutton.... РЕДАКТИРОВАТЬ: после публикации я увидел, что ваше сообщение обновлено с примером ООП. К сожалению, уже поздно, и я должен уйти с работы, но я проверю это первым делом утром! 07.02.2019tk.BooleranVar()
в зависимости от ситуации. 07.02.2019