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

标签 python python-2.7 terminal pygame

如果标题不够清楚,目录 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 = pygame.mixer.Sound("hit.wav") 访问 hit.wav 并使用 hit.play()

播放它

最佳答案

因为它无法自动知道这就是您想要的。因此,您自己指定所需的行为:

import os
hit = pygame.mixer.Sound(os.path.join(os.path.dirname(__file__), "hit.wav"))

关于python - 为什么终端会在工作目录中搜索正在执行的文件正在搜索的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15492164/

相关文章:

python - 解析日期和时间

python - 将字符串重新渲染为原始字符串

linux - 如何更改几个子目录中多个文件中的一个字符串?

c - 终端背景颜色并不总是使用 "\033[0m"正确重置

python - gremlinpython - 以字符串形式返回 id 和标签

python - Python 的 Visual C++ 无法处理 c++11 错误 C2039: 'data':不是 std::vector 的成员

python - pymouse 没有在 python 中与 opencv 一起运行

python - 检查列表中的字符串是否存在于另一个嵌套列表中,并返回它在嵌套列表中的索引

c++ - 运行 Windows 7 的 qt 终端

python - 如何使用 PIL 优化调色板图像大小?