Python 正在尝试创建ID3标记编辑器。TypeError:缺少文件名或fileobj参数

Python 正在尝试创建ID3标记编辑器。TypeError:缺少文件名或fileobj参数,python,typeerror,id3,musicbrainz,mutagen,Python,Typeerror,Id3,Musicbrainz,Mutagen,我正在创建一个标记编辑器,它以“before”“after”样式在不同的文本行中显示mp3文件的ID3标记。如果没有可用的标记,则不显示任何内容。您还可以编辑“之后”文本行,对它们所做的任何更改都应该保存到文件中,但当我按按钮2时,我得到的是底部回溯。如何将线路6-10保存为新的“音频[“标题”]、音频[“艺术家”]等 当我按下“保存更改”按钮时,我将得到此回溯: Traceback (most recent call last): File "<string>", line 6

我正在创建一个标记编辑器,它以“before”“after”样式在不同的文本行中显示mp3文件的ID3标记。如果没有可用的标记,则不显示任何内容。您还可以编辑“之后”文本行,对它们所做的任何更改都应该保存到文件中,但当我按按钮2时,我得到的是底部回溯。如何将线路6-10保存为新的“音频[“标题”]、音频[“艺术家”]等

当我按下“保存更改”按钮时,我将得到此回溯:

Traceback (most recent call last):
  File "<string>", line 69, in on_button2_clicked
  File "h:\program files (x86)\python\lib\site-packages\mutagen\_util.py",     line 139, in wrapper
    writable, create) as h:
  File "h:\program files (x86)\python\lib\contextlib.py", line 59, in     __enter__
    return next(self.gen)
  File "h:\program files (x86)\python\lib\site-packages\mutagen\_util.py",     line 270, in _openfile
    raise TypeError("Missing filename or fileobj argument")
TypeError: Missing filename or fileobj argument
回溯(最近一次呼叫最后一次):
文件“”,第69行,在“打开”按钮2中单击
包装器中的文件“h:\program files(x86)\python\lib\site packages\诱变剂\\u util.py”,第139行
可写,创建)作为h:
文件“h:\ProgramFiles(x86)\python\lib\contextlib.py”,第59行,输入__
返回下一个(self.gen)
文件“h:\program files(x86)\python\lib\site packages\诱变剂\\u util.py”,第270行,在openfile中
raise TypeError(“缺少文件名或fileobj参数”)
TypeError:缺少文件名或fileobj参数

现在,您应该只能编辑标记,但我计划很快实现MusicBrainz查询。

在按钮2上的方法中,单击的对象基本上没有。 要获得正确的选项,请在单击按钮1时使用关键字global。(实际上,您永远不应该这样做!而是创建一个属性来存储它,并通过self.lied或类似的方式访问它)

另外,我假设由于self关键字,这两个函数实际上是类方法,并且在复制粘贴时缩进错误

基本上是由于作用域引起的错误

Traceback (most recent call last):
  File "<string>", line 69, in on_button2_clicked
  File "h:\program files (x86)\python\lib\site-packages\mutagen\_util.py",     line 139, in wrapper
    writable, create) as h:
  File "h:\program files (x86)\python\lib\contextlib.py", line 59, in     __enter__
    return next(self.gen)
  File "h:\program files (x86)\python\lib\site-packages\mutagen\_util.py",     line 270, in _openfile
    raise TypeError("Missing filename or fileobj argument")
TypeError: Missing filename or fileobj argument