Pygame无法识别路径但VS Code可识别的问题求助
解决Pygame mixer音频文件路径找不到的问题
问题原因
VSCode的路径自动补全是基于当前脚本(abilities.py)的位置解析相对路径,但Python运行时的工作目录是C:\Users\acmem\Desktop\programacion,而非JuegoTXT文件夹,导致相对路径基准不一致,出现文件找不到的错误。
解决方案
1. 直接修正相对路径(基于运行工作目录)
因为工作目录是programacion,音频文件实际路径为programacion/JuegoTXT/Assets/Music/ability.mp3,直接修改路径即可:
path = "JuegoTXT/Assets/Music/ability.mp3"
2. 使用动态绝对路径(推荐,不受工作目录影响)
通过__file__获取脚本所在路径,用os.path模块拼接并标准化路径,确保无论从哪个目录运行脚本都能定位到文件:
import os import pygame from pygame import mixer import colorama from colorama import Fore pygame.init() colorama.init() def new_ability(): # 获取当前脚本的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接音频文件路径并标准化(自动处理../) audio_path = os.path.normpath(os.path.join(script_dir, "../Assets/Music/ability.mp3")) pygame.mixer.init() pygame.mixer.Sound(audio_path).play()
3. 修改VSCode运行工作目录
在VSCode的launch.json中配置运行时的工作目录为JuegoTXT文件夹,让Python以该目录为基准解析相对路径:
- 打开运行和调试面板(Ctrl+Shift+D),创建
launch.json文件并选择Python环境 - 修改配置中的
cwd字段:
{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "cwd": "${workspaceFolder}/JuegoTXT" } ] }
内容的提问来源于stack exchange,提问作者Nyktein
相关产品推荐
相关产品推荐

