Python:内部定义的open()原因;类型错误"&引用;参数不需要参数,1给定“;

Python:内部定义的open()原因;类型错误"&引用;参数不需要参数,1给定“;,python,python-3.x,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")

这很可能是一个我有问题的简单问题,但我现在没有另一台机器来确定它是否是我笔记本电脑的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还不是很在行,如果有任何关于open()函数失败原因的提示(“你的代码看起来比昨晚烧焦的意大利面条还要复杂”,我会非常感激

另外需要注意的是,如果我在定义的函数外调用open,它将打开文件,并可以完成对其执行的所有操作,但如果我关闭文件,则无法从函数内重新打开文件。我试图使用os文件函数,但收到错误“LoadFileDialog不能使用缓冲区定义的文件函数”。可以理解

如果我使用conf_file.flush(),假设我在函数外部打开它,它是否会刷新我写入/附加的内容,以便以后可以再次读取该文件


编辑:我的意思是,这会一直有效吗,还是会被认为是一种黑客行为?

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

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

假设open()是稍后声明的,而您只是没有将其包含在代码中,那么您可能会将其声明为

def open():
    #code here
如果是这种情况,您只是在声明函数时没有添加参数,它应该是:

def open(x, y):
    #code here
x和y可以是你喜欢的任何东西

请回来,并张贴您的代码的其余部分(我高度怀疑这是它的全部),以获得更好的答案。真正发生的事情至多只是我们的猜测。

假设open()是后来声明的,而您只是没有将其包含在代码中,那么您可能会将其声明为

def open():
    #code here
如果是这种情况,您只是在声明函数时没有添加参数,它应该是:

def open(x, y):
    #code here
x和y可以是你喜欢的任何东西


请回来,并张贴您的代码的其余部分(我高度怀疑这是它的全部),以获得更好的答案。真正发生的事情至多只是外界的猜测。

你搞定了。我觉得这样问很愚蠢,我想我应该检查一下我的代码,看看有没有这样的事故。谢谢,你搞定了。我觉得这样问很愚蠢,我想我应该检查一下我的代码,看看有没有这样的事故。非常感谢。