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可以是您喜欢的任何东西。
请返回并发布其余代码(我非常怀疑这就是全部),以获得更好的答案。 真正发生的事情最多只是一种推测。