无效文件保存错误Python

时间:2015-07-07 00:04:28

标签: python python-3.x tkinter savefiledialog

我正在尝试编写一个脚本,允许用户创建一个包含他们想要的任何名称的文件夹,然后创建一个包含他们想要的任何名称的文件。一旦他们这样做,程序会询问他们3个名字并将它们写入文件。然后我想让用户输入1到3之间的数字并显示他们想要的行数。我正在尝试阅读文件中的内容时发现错误

TypeError: invalid file: <_io.TextIOWrapper name='C:blah blah ' mode='a' encoding='cp1252'>

代码如下:

def SaveDir():
    global FileSave
    FileSave = filedialog.asksaveasfile(mode='a', defaultextension=".txt")
    if FileSave is None:                                                                                                                                          
        return
    print(FileSave)
    SaveDir2()

def SaveDir2():
    FinalFile = open(FileSave)
    FinalFile.write(PRINTCONV)
    FinalFile.close()

1 个答案:

答案 0 :(得分:2)

函数tkFileDialog.asksaveasfile返回实际的打开文件,这就是你得到TypeEror的原因,因为它不是可以打开的有效文件名。请考虑使用tkFileDialog.asksaveasfilename。或者只需简单地调用FileSave.write,因为 是打开的文件对象。

以前曾提出过类似的问题: