Когда я пытаюсь открыть волновой файл в Pydub, он не может найти файл. Почему это?

Вот как выглядит терминал:

>>> from pydub import AudioSegment
>>> song = AudioSegment.from_wav("E:\\sounds\\ahh.wav")

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    song = AudioSegment.from_wav("E:\\sounds\\ahh.wav")
  File "C:\Python27\lib\pydub\audio_segment.py", line 534, in from_wav
    return cls.from_file(file, 'wav', parameters)
  File "C:\Python27\lib\pydub\audio_segment.py", line 505, in from_file
    p = subprocess.Popen(conversion_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
WindowsError: [Error 2] The system cannot find the file specified

Теперь этот файл определенно существует на моем компьютере, и, насколько я знаю, я правильно использовал обратную косую черту. Почему Python не может его найти?

1 ответ

Решение

Посмотрите на эту трассировку поближе - это не ваш WAV-файл, который не найден, это исполняемая программа (на которую ссылается conversion_command) это не найдено Согласно документации Pydub, для файлов WAV не требуется никаких внешних команд, поэтому я подозреваю, что файл, который у вас есть, на самом деле не является действительным WAV. Вы можете попробовать следовать инструкциям в документации Pydub для установки его необязательных зависимостей (libav, ffmpeg), если файл является допустимым файлом другого формата.

Другие вопросы по тегам