You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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以该目录为基准解析相对路径:

  1. 打开运行和调试面板(Ctrl+Shift+D),创建launch.json文件并选择Python环境
  2. 修改配置中的cwd字段:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "cwd": "${workspaceFolder}/JuegoTXT"
        }
    ]
}

内容的提问来源于stack exchange,提问作者Nyktein

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 06:27:13