如何不将同一首歌曲添加到列表框?

问题描述

如果用户将单个歌曲添加到列表框中,然后添加包括该歌曲的歌曲的文件夹,则如何阻止该程序再次添加同一首歌曲,因为如果这样做,它将显示该歌曲的完整路径。 反过来也一样,因此,如果我将歌曲的文件添加到列表框中,然后向其中添加单个歌曲,如何阻止用户将同一首歌曲添加到列表框中?

def browse_file():
    player.filename =  filedialog.askopenfilename(initialdir = "/",title = "Select a song",filetypes = (("MP3 files","*.mp3"),("WAV files","*.wav*"),("all files","*.*")))
    playlist.append(player.filename)

    for t in playlist:
        listBox.insert(0,os.path.basename(t))




def select_dir():
    directory = askdirectory()
    os.chdir(directory)
    for files in os.listdir(directory):
        if files.endswith("mp3" or "wav"):
            playlist.append(files)

    for t in playlist:
        listBox.insert(0,t)

完整代码https://pastebin.com/Hj44yGS3

解决方法

您应将所有歌曲名称及其完整路径存储在数组中,以便检查是否有重复。列表框仅显示文件列表中的基本文件名。