Winsound Python не работает с массивами, которые были добавлены к - PullRequest
1 голос
/ 13 октября 2019
import random
import winsound
songsArray = []
with open("test.txt") as f:    
        for line in f:
                songsArray.append(line)
songAmount = len(songsArray)        
selectedSong = songsArray[2]
print (selectedSong)

winsound.PlaySound(songsArray[2], winsound.SND_ALIAS)

В этом коде я пытаюсь добавить каждую строку текстового файла в массив, который, кажется, работает, давая правильный вывод, если я печатаю позицию в массиве, но при попытке использовать его с winsound он не работает ни с какими элементами, кроме последнего, который будет добавлен.

Кто-нибудь знает, как это исправить?

В настоящее время в массиве имеется 3 элемента, и при попытке воспроизведения любого другого элемента, кроме последнего, он просто издает звуковой сигнал.

1 Ответ

1 голос
/ 13 октября 2019

Когда Python перебирает строки в файле a, символы новой строки включаются в каждую строку. Есть несколько способов работы с этим, вот один:

import random
import winsound
with open("test.txt") as f:    
       songsArray = f.read().splitlines()
songAmount = len(songsArray)        
selectedSong = songsArray[2]
print (selectedSong)

winsound.PlaySound(songsArray[2], winsound.SND_ALIAS)
...