import tkinter as tk
from tkinter import filedialog as fd
root = tk.Tk() # пустое родительское окно
root.withdraw() # прячем его
result = fd.askdirectory(
master=root, # диалогу нужно родительское окно, путь даже невидимое.
mustexist=True) # только существующие каталоги
root.destroy() # уничтожаем родительское окно
print(type(result), repr(result)) # result будет содержать путь или пустую строку при отмене