为什么终端在工作目录中搜索正在执行的文件正在搜索的文件?

Eri*_*mes 1 python terminal pygame python-2.7

如果标题不够清晰,那么目录中的Developer/Pythonfiles/Pong中有Pong.py和hit.wav.当我运行~ $python Developer/Pythonfiles/Pong/Pong.py
声音hit.wav将无法播放时,会出现奇怪的爆音.但当我~/Developer/Pythonfiles/Pong $python Pong.py从hit.wav播放声音时,按预期播放.

为什么程序Pong.py不会搜索目录而不是Hit.wav的工作目录?我尝试访问hit.wav hit = pygame.mixer.Sound("hit.wav")并播放它hit.play()

wim*_*wim 5

因为它无法自动地知道你想要的东西.因此,请自行指定所需的行为:

import os
hit = pygame.mixer.Sound(os.path.join(os.path.dirname(__file__), "hit.wav"))
Run Code Online (Sandbox Code Playgroud)