我保存后没有扩展名的文件,虽然我在程序中通过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()
我没有编写文件时遇到任何问题,我的问题仅在于扩展程序。
额外信息:
Hide extensions for known file types
(我已尝试检查过版本,但它没有改变任何内容)答案 0 :(得分:4)
大!我自己通过添加void OnTriggerEnter (Collider obstacle)
{
if (obstacle.gameObject.tag == "Pick Axe")
{
obstacle.gameObject.SetActive (false);
}
}
选项找到了答案。感谢大家试图回答我的问题,虽然他们都没有解决我的问题,实际上,他们中的大多数只是在没有解释其原因的情况下向我提出问题。好吧,如果你不知道解决方案,那不是我的错!感谢其他试图帮助我的人! 赞赏!:)
答案 1 :(得分:0)
idlelib.IOBinding(3.6中的.iomenu)具有此代码,可以在未明确输入时添加.py或.txt。我不知道/记得什么" TEXT"是的,但由于代码有效,我不管它。
filetypes = [
("Python files", "*.py *.pyw", "TEXT"),
("Text files", "*.txt", "TEXT"),
("All files", "*"),
]
[...]
def asksavefile(self):
dir, base = self.defaultfilename("save")
if not self.savedialog:
self.savedialog = tkFileDialog.SaveAs(
parent=self.text,
filetypes=self.filetypes,
defaultextension=self.defaultextension)
filename = self.savedialog.show(initialdir=dir, initialfile=base)
return filename