在python中创建另存为函数

Posted

技术标签:

【中文标题】在python中创建另存为函数【英文标题】:Creating a save as function in python 【发布时间】:2016-07-31 23:31:21 【问题描述】:

我正在尝试创建一个函数来保存从我的代码中的多个条目小部件获取的数据,并创建一个新的保存文件来存储来自所有条目的数据。

我创建了一个名为 entries 的条目列表并尝试从中提取,但无法完全正确。它将创建文件,但始终为空白。

这是我使用 tkinter 小部件的另存为功能的代码。

def file_save_as(self):
    fout = asksaveasfile(mode = 'a', defaultextension = '.txt')
    with open('fout', 'a') as f:
        for entry in self.entries:
            f.write("%s\n" % entry)

【问题讨论】:

你是想让'fout' 成为with open('fout', 'a') as f: 行中的字符串,还是应该是fout 变量? asksaveasfile 返回一个已经打开的文件。要从条目小部件中获取值,请使用记录在案的方法 get() 或使用asksaveasfilename 仅获取文件名。 我试图将文件名分配给变量 fout 然后保持打开状态以便我可以写入数据,我意识到我可能需要更改它,这是我在 python 中的第一个程序所以仍然学习 我可以使用 get() 从条目小部件中获取值,然后将其放入列表中,现在我尝试将列表中的数据写入新的保存文件 【参考方案1】:
def file_save_as(self):
    fout = asksaveasfilename(defaultextension = '.txt')
    try:
        with open(fout, 'w') as output:
            for x in self.entries:
                output.write(x.get())
    except FileNotFoundError:
        print("Cancelled save or error in filename")

【讨论】:

以上是关于在python中创建另存为函数的主要内容,如果未能解决你的问题,请参考以下文章

另存为,每种文件类型都有不同的回调函数

Javascript:将画布另存为图像 ==>“未捕获的类型错误:未定义不是函数”

pdf文件中的“另存为”框

如何创建“另存为”和“加载”对话框以在 javascript 中创建/加载 json 文件/数据?

文件相关操作 - 另存为

怎样将matlab绘出的图形另存为高精度jpg图片?