Как найти файл через glob и открыть его?

Есть проблема, хочу найти файл через модуль glob и открыть его, но при запуске кода получаю следующую ошибку:

FileNotFoundError: [WinError 2] Не удается найти указанный файл: "C:\\Users\\user\\Desktop\\Visual Studio\\Python\\['C:\\Users\\user\\Desktop\\My Files\\sound.wav']"

Также происходит и с winsound.PlaySound(str(sound), winsound.SND_FILENAME + winsound.SND_LOOP)

Я в принципе понимаю в чём проблема, но как её решить?

Вот сам код:

import os, winsound, glob

sound = glob.glob(f'C:\\Users\\user\\Desktop\\**\\*.wav')

def openFolder():
    print(str(sound))
    os.startfile(os.path.realpath(str(sound)))
    winsound.PlaySound(str(sound), winsound.SND_FILENAME + winsound.SND_LOOP)

if __name__ == "__main__":
    openFolder()

Ответы (1 шт):

Автор решения: Namerek
from pathlib import Path

root = Path(r'C:\Users\user\Desktop')

def some_function_for_playback(wav_file: Path):
    pass

for item in root.rglob('*.wav'):
    if item.is_file():
        some_function_for_playback(item)

Или для одного файла можно так:

from pathlib import Path

root = Path(r'C:\Users\user\Desktop')

def some_function_for_playback(wav_file: Path):
    pass

file, *_ = [*root.rglob('*.wav')] or (None,)
if file:
    some_function_for_playback(file)
→ Ссылка