У меня ошибка при попытке создать звук с помощью pygame

#python #python-3.x #audio #pygame

#python #pygame

Вопрос:

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

 import pygame

pygame.init()
pygame.mixer.init()

try:
    person_sound = pygame.mixer.Sound("person.wav")
    pygame.mixer.Sound.play(person_sound)

except:
    import traceback
    traceback.print_exc()
  

Вот что у меня получилось:

 pygame 1.9.5
Hello from the pygame community. https://www.pygame.org/contribute.html
Traceback (most recent call last):
 File "G:DesktopSound TestSound-Test.py", line 7, in <module>
    person_sound = pygame.mixer.Sound("person.wav")
FileNotFoundError: No such file or directory.
[Finished in 1.345s]
  

Ответ №1:

Файл не обязательно должен находиться в том же каталоге, что и файл python, но он должен быть в рабочем каталоге приложения.

Разница может быть исследована с помощью:

 import os

currentWorkDir = os.getcwd()
print(currentWorkDir)

sourceFileDir = os.path.dirname(os.path.abspath(__file__))
print(sourceFileDir)

  

См. Также Атрибуты модуля, связанные с импортом.

Текущий рабочий каталог может быть изменен приложением, чтобы он совпадал с каталогом исходного файла python:

 import os

sourceFileDir = os.path.dirname(os.path.abspath(__file__))
os.chdir(sourceFileDir)