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

时间:2020-11-08 22:01:55

标签: python tkinter python-os

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

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

1 个答案:

答案 0 :(得分:0)

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