从列表中设置路径的 Pythonic 方式
Pythonic way of setting path from list
我一直在努力为我弟弟做一个程序。其中一个组成部分是播放音频文件。我有大约 90 个音频文件的列表(请不要问我为什么有 90 个),我正试图随机选择一个并播放它。然而,要播放它,我必须找到它的路径,然后将路径插入我代码的另一部分(我仍在修复中)。这是我目前所拥有的:
import os, random
audio_playlist = [1, 2, 3, 4, ... all the way to 90]
sel_song = random.choice(audio_playlist)
song_path = None
base_directory = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"songs")
现在,这就是我创建随机选择歌曲的路径的方式:
while song_path == None:
if sel_song == 1:
song_path = os.path.join(directory, "1.mp3")
elif sel_song == 2:
song_path = os.path.join(directory, "2.mp3")
# and i do this 90 times... :(
是否有更 pythonic 的方式来做到这一点?另外,我该怎么做才能设置我的歌曲路径,这样我就不必编写数百行代码,而是使用非常简单且只有 10-15 行代码的东西。另请注意,为简单起见,song_path
中的文件基本上只是带有 .mp3
的数字。
你可以直接把它作为创建路径
if 1<= sel_song <=90:
s.path.join(directory, "{}.mp3".format(sel_song))
并且正如 建议的那样
audio_playlist = range(1, 91)
也是很Pythonic的方式
并且按照Padraic的建议,
audio_playlist = random.randint(1,91)
是一种更快的方式
我一直在努力为我弟弟做一个程序。其中一个组成部分是播放音频文件。我有大约 90 个音频文件的列表(请不要问我为什么有 90 个),我正试图随机选择一个并播放它。然而,要播放它,我必须找到它的路径,然后将路径插入我代码的另一部分(我仍在修复中)。这是我目前所拥有的:
import os, random
audio_playlist = [1, 2, 3, 4, ... all the way to 90]
sel_song = random.choice(audio_playlist)
song_path = None
base_directory = os.path.join(os.path.dirname(os.path.abspath(__file__)),
"songs")
现在,这就是我创建随机选择歌曲的路径的方式:
while song_path == None:
if sel_song == 1:
song_path = os.path.join(directory, "1.mp3")
elif sel_song == 2:
song_path = os.path.join(directory, "2.mp3")
# and i do this 90 times... :(
是否有更 pythonic 的方式来做到这一点?另外,我该怎么做才能设置我的歌曲路径,这样我就不必编写数百行代码,而是使用非常简单且只有 10-15 行代码的东西。另请注意,为简单起见,song_path
中的文件基本上只是带有 .mp3
的数字。
你可以直接把它作为创建路径
if 1<= sel_song <=90:
s.path.join(directory, "{}.mp3".format(sel_song))
并且正如
audio_playlist = range(1, 91)
也是很Pythonic的方式
并且按照Padraic的建议,
audio_playlist = random.randint(1,91)
是一种更快的方式