Wpis z mikrobloga

Drodzy specjaliści od #python - szybkie pytanie. Dlaczego jeżeli chcę skorzystać w kodzie z metody:

tkinter.filedialog.askopenfilename()
to po takim imporcie:

import tkinter
dostaję AttributeError ("module 'tkinter' has no attribute 'filedialog'")

natomiast import:

import tkinter
from tkinter.filedialog import *

działa okej? Mógłby mi ktoś wytłumaczyć, dlaczego po zaimportowaniu modułu "tkinter" nie mam dostępu do "filedialog"? Dzięki z góry!

#programowanie
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mógłby mi ktoś wytłumaczyć, dlaczego po zaimportowaniu modułu "tkinter"


@lab_rat: bo wszystko rozbija się o ideologię budowania paczek, ilu ludzi tyle pomysłów, można kontrolować i sterować które moduły są jak importowane i z których modułów gdzie można skorzystać, większość pythonowych paczek jest tutaj znacznie bardziej elastyczna.

Twórcy wybrali taki a nie inny model integrowania sub-modułów.

zwykle używa się from tkinter import filedialog , chyba, ze chcesz utrzymać tą strukturę wywołania
  • Odpowiedz