1

这很可能是我遇到问题的简单问题,但我现在没有另一台机器来确定它是否是我笔记本电脑的 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(),假设我在函数之外打开它,它会刷新我写入/附加的任何内容,以便我以后可以再次从文件中读取?

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

4

2 回答 2

1

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

于 2012-09-26T02:36:52.823 回答
0

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

def open():
    #code here

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

def open(x, y):
    #code here

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

请回来并发布您的其余代码(我非常怀疑这就是全部)以获得更好的答案。真正发生的事情最多只是外界的猜测。

于 2012-09-26T02:51:05.313 回答