Как сделать чтобы имя в диалоге сохранения по умолчанию подставлялось имя файла из диалога открытия

Как сделать чтобы имя открываемого файла сохраняла данный файл с таким же именем. Используя данные функции tkinter

filedialog.askopenfilename()

filedialog.asksaveasfilename()

Окно открытия файла введите сюда описание изображения Окно сохранения файла - что бы в графе ввода отображалось название открытого файла введите сюда описание изображения


Ответы (1 шт):

Автор решения: insolor

Начальная директория и имя файла в диалогах из модуля filedialog задаются через параметры initialdir и initialfile (документация). Нужно получить полный путь из первого диалога, разбить на директорию и имя файла, и передать их во второй диалог:

import os
from tkinter import filedialog

full_path = filedialog.askopenfilename()
directory, file_name = os.path.split(full_path)
filedialog.asksaveasfilename(initialdir=directory, initialfile=file_name)

То же самое через pathlib вместо os.path ("Почему вам следует использовать pathlib"):

from pathlib import Path
from tkinter import filedialog

full_path = Path(filedialog.askopenfilename())
filedialog.asksaveasfilename(initialdir=full_path.parent,
                             initialfile=full_path.name)
→ Ссылка