【问题标题】:How to update a '.txt' file with filedialog如何使用 filedialog 更新“.txt”文件
【发布时间】:2014-12-08 19:40:53
【问题描述】:

如何创建“.txt”文件并存储输入框中的一些信息并更新“.txt”文件?

我知道我必须使用:

file = filedialog.asksaveasfile( mode = 'w', defaultextension = '.txt')

并将Entrybox中的信息存储到文件中:

#the self.nameEntry had the input of 'zack'
name = self.nameEntry.get()
file.write(name)
file.close()

但是当程序继续运行并且我想将新信息保存到同一个 .txt 文件中时,如果不重新使用filedialog.asksaveasfile(),我怎么能做到呢?我会使用file = open(file),然后使用file.write()吗?

【问题讨论】:

  • 这个问题似乎很熟悉。我不认为你可以做open(file),因为file 不是文件名。您是否尝试过改用asksaveasfilename
  • 如果我使用asksaveasfilename,它不会让我使用mode = 'w'。我如何能够将name 存储到没有file.write(name) 的文件中?
  • 您不能为asksaveasfilename 指定文件模式,因为与asksaveasfile 不同,它实际上不会为您创建文件对象。您可以在对 open 的调用中指定模式。
  • "您在调用中指定要打开的模式。"你能告诉我实际代码的样子吗?因为我不明白如何使用open。谢谢
  • 感谢您的提示....正如您可能告诉我的那样,我对此有点陌生

标签: python python-3.x savefiledialog filedialog


【解决方案1】:

我能够理解如何做到这一点......

代码:

file_name = filedialog.asksaveasfilename(defaultextension = '.txt')
if file_name is None:
    return
file = open(file_name, mode 'w')
name = self.nameEntry.get()
file.write(name)
file.close()

非常感谢 Kevin 帮助我解决了我的问题 :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多