所以我正在制作一个基于文本的游戏,完成之后,我想将最终产品编译成.exe格式,这样分享起来相当容易(我计划使用cx_freeze) 现在,我想为游戏添加一些背景音乐,下面的代码工作得很好 IF和ONLY IF python文件在桌面上,所以“sound.wav”我正在寻找在后台执行sound.wav的方法是否与python文件在同一目录或不同目录上,谢谢
import winsound
winsound.PlaySound('sound.wav', winsound.SND_FILENAME)
答案 0 :(得分:0)
使用os
包生成音乐文件的绝对路径,以确保它始终正常。
例如,如果您的项目结构是
root
src
your_python_file.py
assets
sound.wav
所以你可以通过
生成sound.wav的绝对路径import os
# __file__ means the path of the current python script
root_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
bg_path = os.path.join(root_dir, "assets", "sound.wav")
答案 1 :(得分:0)
假设您有一个名为foo
的子文件夹和一个名为subfoo
的第二个子文件夹
如果您想进入foo
子文件夹,请使用foo/sound.wav
,如果您想进入第二个子文件夹subfoo
请使用foo/subfoo/sound.wav
。
如果您想上字典,可以使用./
。例如,如果您的声音位于foo
并且您在subfoo
中编写脚本,则可以使用./sound.wav
访问它,以便逐个使用./
再次使用文件。
否则,您可以使用从C:
开始的“绝对”文件路径或您要访问的驱动器。例如,如果您的文件文件名位于Desktop中,则可以使用:
C:/users/username/Desktop/foo/subfoo/sound.wav