Как найти файл через 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)