打开函数缺少参数错误

时间:2015-04-06 00:45:14

标签: python-3.x arguments

我正在尝试为文本编辑器运行此代码:

def newfile():
  current = None
  def create_file(entry):
    nonlocal current
    new_name=entry.get()
    current = open(new_name,'w')
    e.master.destroy()
  chdir(askdirectory())
  name=Tk()
  name.title("Name the File?")
  prompt=Label(name, text="Enter name for new file:")
  prompt.grid(row=0)
  e=Entry(name)
  e.grid(row=1)
  e.insert(0, "Untitled")
  create=Button(name, text="Create", command = lambda: create_file(e))
  create.grid(row=2, column=3)
  name.mainloop()
  return current

但是我收到了这个错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python3.2/tkinter/__init__.py", line 1402, in __call__
    return self.func(*args)
  File "<pyshell#3>", line 16, in <lambda>
    create=Button(name, text="Create", command = lambda: create_file(e))
  File "<pyshell#3>", line 6, in create_file
    current = open(new_name,'w')
TypeError: an integer is required

它希望open函数在某处有一个整数参数,但据我所知,open不会将任何整数作为必需参数。无论是什么,它都足以引发错误并防止其运行。有谁知道它在寻找什么?

请注意,这与Missing argument error for .get method of tkinter text entry widget不同。当我认为导致python抛出错误的.get()方法时,我发布了这个问题,但这个问题的答案基本上告诉我它不是.get()方法,而是{ {1}}导致它的功能,所以我问了这个。是什么让我与众不同的是,我在这里询问open函数,而不是open方法。

0 个答案:

没有答案