Ошибка отображения выбранного пути к файлу в поле ввода () - Python Tkinter - PullRequest
0 голосов
/ 21 марта 2020

Это мой первый пост здесь, но я не могу найти решение в другом месте. Я использую библиотеку Tkinter Python для создания минимального Hashcat GUI Ha sh -Cracker, просто для удовольствия :) Он принимает файл .hccapx ha sh и файл словаря .dict из sub -каталоги, добавленные в Hashcat-5.1.0 в Windows 10. Моя проблема отмечена здесь:

def browsehccapx():
if path.exists(".\selected.hccapx"):
    os.remove(".\selected.hccapx")
else:
    pass
hccapxpath = filedialog.askopenfilename(initialdir=".\hccapxfiles", title="Select handshake .hccapx file",filetypes=((".hccapx files","*.hccapx"),("all files","*.*")))
hccapxpath = shutil.copy(hccapxpath, rootdir)
os.rename("{}".format(hccapxpath), ".\selected.hccapx")

, и это поле ввода, которое не будет отображать переменную hccapxpath:

hccapxpathtxt = Entry(window, textvariable=hccapxpath, width=64, bg="white")

Может кто-нибудь сказать мне, почему hccapxpathtxt не будет отображать hccapxpath внутри поля Entry () после вызова browsehccapx ()? Нужен ли другой метод, чтобы позволить browsehccapx () выводить выбранный путь к файлу в поле Entry ()? Прямо сейчас программа работает отлично, когда настроена внутри директории Hashcat, осталась только одна проблема: файл .hccapx и файл списка слов .dict не отображаются после выбора. Вся помощь очень ценится! Как и конструктивная критика! Заранее благодарим всех, кто тратит время, чтобы попытаться помочь :) Полный файл python можно найти здесь: https://pastebin.com/6GQxSxfb

1 Ответ

0 голосов
/ 23 марта 2020

Я исправил это. Спасибо @ acw1668. Я определил hccapxpath как StringVar() в глобальных переменных, а затем запустил следующую обновленную функцию, чтобы получить поле Entry() для отображения пути:

def browsehccapx():
if path.exists(".\selected.hccapx"):
    os.remove(".\selected.hccapx")
else:
    pass
fullhccapxpath = filedialog.askopenfilename(initialdir=".\hccapxfiles", title="Select handshake .hccapx file",filetypes=((".hccapx files","*.hccapx"),("all files","*.*")))
fullhccapxpath = shutil.copy(fullhccapxpath, rootdir)
hccapxpath.set(fullhccapxpath)
os.rename("{}".format(fullhccapxpath), ".\selected.hccapx")

Ссылка на вставку действительна в течение 6 месяцев. Я надеюсь, что это поможет другим с подобной проблемой в будущем!

...