Как заставить мой код воспроизводить более одной песни в случайном порядке? - PullRequest
0 голосов
/ 07 августа 2020

Я немного новичок в этом, и мне понадобится небольшая помощь с этим; У меня есть этот код, который, по сути, воспроизводит вам песню из текущего каталога, в котором вы находитесь, я хотел бы знать, можете ли вы каким-то образом заставить его воспроизводить более одной песни в случайном порядке, не повторяя себя, пока список не закончится. Спасибо

    import random,os,sys

folder=os.listdir(os.getcwd())

file=random.choice(folder)
ext3=['.mp3']
print('First random pick: '+file)

while file[-4:] not in ext3 :
       
       print('Not an MP3 file  : '+file)
       file=random.choice(folder)
else:
       os.startfile(file)
       print('Song name: '+file)



##os.startfile(random.choice(folder))

Ответы [ 2 ]

1 голос
/ 07 августа 2020
import random, os, sys

folder = os.listdir(os.getcwd())

mp3s = [file for file in folder if file.endswith('.mp3')]
queue = random.shuffle(mp3s)
for file in queue:
    print('Song name:', file)
    os.startfile(file)
0 голосов
/ 07 августа 2020

При первом запуске программы создайте в каталоге массив текущих песен. Затем в случайном порядке воспроизведите песню из массива. Как только вы начнете проигрывать песню, извлеките ее из массива, чтобы в списке были только непроигранные песни. Выполните итерации по массиву, используя прежний logi c, чтобы проработать массив до тех пор, пока не останутся песни.

...