/ La función / tkinter asksaveasfile abre carpetas - python, tkinter

La función tkinter asksaveasfile abre carpetas - python, tkinter

Cuando uso tkinter "s asksaveasfile Esta función abre inadvertidamente las carpetas en lugar de guardar un archivo que se llama así esa carpeta.

Dado el código de ejemplo:

import tkinter.tkFileDialog

f = tkFileDialog.asksaveasfile(mode="w", defaultextension=".txt")

Y una estructura de archivos, como:

Desktop (initial directory)
| ----------> example (folder)

donde Desktop es el directorio inicial y el ejemplo es una carpeta en ese directorio

Si intenta ingresar el texto "ejemplo", en lugar de crear ese archivo, se abrirá la carpeta denominada ejemplo.

¿Alguna idea?

Respuestas

1 para la respuesta № 1

El comportamiento predeterminado y esperado de un archivo de diálogo es poder pegar una ruta para acceder a una carpeta específica, por lo que esto generará un conflicto con lo que quiere lograr aquí.

Una opción podría ser proporcionar la extensión en el nombre de archivo predeterminado:

f = tkFileDialog.asksaveasfile(mode="w",
initialfile=".txt", # or even a default name
defaultextension=".txt")