附加项目以在Python中列出所有现有元素

时间:2019-04-18 15:21:25

标签: python python-3.x list

我正在编写一个脚本来读取.osu文件并将其转换为特定对象。每个“命中对象”必须多次执行该操作

阅读部分工作正常,但是附加对象是问题

追加对象时,似乎会覆盖列表中的所有现有元素。我一生无法弄清为什么会这样。

我尝试创建一个“临时”列表,该对象将对象存储在本地列表中,而不是“ self.notes”列表中。

我认为该文件的此部分中发生了错误:

if hitobjline != -1:
            hitobjects = self.file_lines[hitobjline+1:]
            for i in hitobjects:
                ln = i[:i.find(':')].split(',')
                new_note = [NoteType.Circle, NoteType.Hold][int(ln[3] == '128')]
                add_note = File.Note
                add_note.NoteTypeByte = ln[3]

                add_note.Note_Number = int(ln[0])
                add_note.Time = int(ln[2])
                add_note.NoteType = new_note
                add_note.Raw = ln
                self.notes.append(add_note)
                print(ln, ln[3], ln[3] == '128', new_note, add_note.NoteType)

对于背景,.osu文件的语法如下:x,y,time,type,hit,end:stuff-i-dont-need-to-worry-about

我期望self.notes[0].NoteType的输出为osureader.NoteType.Hold,因为文件的第一行是192,192,410,128,0,2974:0:0:0:0:(128表示“保留”

但是,我得到的是文件的最后一行osureader.NoteType.Circle。

0 个答案:

没有答案