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

Python: internally defined open() causes “Type Error”, “argument requires no arguments, 1 given”

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

运行程序时,出现以下错误:"类型错误:函数open()不需要任何参数(给定2个)"

有问题的代码段:

1
2
3
4
5
6
7
8
9
    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(),而您只是没有将其包含在代码中,则可能将其声明为

1
2
def open():
    #code here

在这种情况下,您只是在声明函数时没有添加参数,而是:

1
2
def open(x, y):
    #code here

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

请返回并发布其余代码(我非常怀疑这就是全部),以获得更好的答案。 真正发生的事情最多只是一种推测。