首页 > 解决方案 > 如何打印歌曲索引及其名称?

问题描述

我正在构建一个 AI 助手,我想为其添加一个选项,它可以播放我按名称选择的音乐,并且只播放那首特定的歌曲。

import os
music_dir = "C:\\Users\\Mahdi\\Downloads\\Music"
songs = os.listdir(music_dir)
input1 = input("Enter the song name: ")
print (songs)
song = os.startfile(os.path.join(music_dir, songs[1]))

根据有用的评论,我现在将代码更改为:

import os
music_dir = "C:\\Users\\Mahdi\\Downloads\\Music"
songs = os.listdir(music_dir)
for i in range(len(songs)):
    print (songs[i])
input1 = int(input("Enter the song index: "))
song = os.startfile(os.path.join(music_dir, songs[input1]))

当我运行它时,它会显示一个歌曲名称列表,并通过它的索引询问我想播放哪首歌。有什么方法也可以打印索引吗?因此,例如,当我运行它时,它显示:

0 song name1
1 song name2
...

标签: python

解决方案


将您的代码更改为下面的代码段,它应该可以正常工作。

import os
import sys, subprocess
print(sys.platform)
music_dir = "C:\\Users\\Mahdi\\Downloads\\Music"  
songs = os.listdir(music_dir)
print (songs)
input1 = input("Enter the song name: ")  
opener = "open" if sys.platform == "darwin" else "xdg-open"
subprocess.call([opener, os.path.join(music_dir, input1)])

os.startfile()不适用于 Linux 或 Mac,仅适用于 Windows。


推荐阅读