Python:内部定义的open()导致“类型错误”,“参数不需要参数,给定1”

时间:2012-09-26 02:31:57

标签: python python-3.x

这很可能是我遇到问题的简单方法,但是我没有其他机器可以知道它现在是否是我的笔记本电脑的python版本。

当我运行程序时,我收到以下错误:"类型错误:函数open()不需要参数(2给出)"

有问题的代码段:

    import tkinter as tk
    from tkinter import filedialog as fdg

    def update_queue():
            conf_file = open("config.txt", "a")
            fd = fdg.LoadFileDialog(master)
            file = fd.go(pattern="*.jpg")
            conf_file.write(file)
            conf_file.close()

我还不太擅长使用Python,并且非常感谢任何指针("你的代码看起来比昨晚更加曲折,烧焦的意大利面和#34;也很重要) ()函数失败。

另外值得注意的是,如果我在已定义的函数之外调用open,它会打开文件,并可以完成对其执行的所有操作,但如果我关闭文件,则无法从函数中重新打开文件。我试图使用os文件函数,但收到错误" LoadFileDialog不适用于缓冲区定义的文件函数。"可以理解的。

如果我使用conf_file.flush(),假设我在一个函数之外打开它,它会刷新我写入/追加的内容,这样我以后可以再次读取该文件吗?

编辑:我的意思是,这是否会一直有效,或者这会被视为黑客攻击?

2 个答案:

答案 0 :(得分:0)

是整个代码吗?确保你没有在某处导入另一个打开的函数。或者重新定义它。

答案 1 :(得分:0)

假设稍后声明了open()并且您只是没有将它包含在代码中,您可能将其声明为

def open():
    #code here

如果是这种情况,你只是在声明函数时没有添加参数,它应该是:

def open(x, y):
    #code here

其中x和y可以是你喜欢的任何东西。

请回来发布你的其余代码(我非常怀疑这一切都是为了得到更好的答案)。真正发生的事情最多只是部分推测。