#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)