Я получаю файлы без расширения после их сохранения, хотя я даю им расширения filetypes
опцию в моей программе. Я могу сделать это только с помощью defaultextension
опции, но я хочу, чтобы пользователь решил выбрать расширение без необходимости возиться с кодом. Плюс, когда я использую defaultextension
вариант, например: defaultextension=".txt"
, он добавляет 2 .txt
к моему имени файла, например filename.txt.txt
. Вот мой сниппет:Расширение не добавлено в имя файла после сохранения
from tkinter import *
import tkinter.filedialog
root = Tk()
root.title("Saving a File")
root.geometry("500x500-500+50")
def save():
filename = filedialog.asksaveasfilename(
initialdir="D:",
title="Choose your file",
filetypes=(
("Text Files", "*.txt"),
("Python Files", "*.py"),
("All Files", "*.*")
)
)
try:
fileobj = open(filename, 'w')
fileobj.write(text.get(0.0, "end-1c"))
fileobj.close()
except:
pass
button = Button(root, text="Save", command=save,
cursor='hand2', width=30, height=5,
bg='black', fg='yellow', font='Helvetica')
button.pack()
text = Text(root)
text.pack()
я не никаких проблем с записи файла, моя проблема только с их расширений.
Дополнительно:
- Я на Windows 7
- Я непроверенную
Hide extensions for known file types
(я пробовал проверил версию, но это ничего не меняет)
Вы проверяли имена файлов из 'cmd.exe' (' dir'), а не Windows Explorer? – cdarke
Измените вызов 'tkinter.filedialog.asksaveasfilename (' – cdarke
@cdarke Я также проверил 'cmd.exe'' (dir) 'тоже, он также показывает файл без расширения –