Python修改默认工作目录:playsound读取同目录mp3提示找不到文件
问题根因
Python脚本的默认工作目录由启动Python进程时的所在路径决定,并非Python内置的固定设置。你遇到的路径变化,大概率是运行脚本的触发方式发生了改变:
- 之前你应该是在脚本所在文件夹打开终端执行
python 脚本名.py,或是IDE默认配置了工作目录为脚本路径,因此工作目录和脚本目录一致 - 现在你可能是从用户主目录打开终端后传入脚本全路径运行、IDE的工作目录配置被修改、或是通过快捷方式启动脚本时未设置起始位置,才会出现工作目录默认为
C:\Users\me的情况
解决方案
一、调整运行配置(无需修改代码)
- 终端手动运行:每次执行脚本前先通过
cd 脚本所在文件夹路径切换到对应目录,再执行python 脚本名.py即可 - VS Code运行:打开设置界面,搜索
python.terminal.executeInFileDir,勾选该选项,后续运行脚本会自动切换到脚本所在目录执行 - PyCharm运行:依次点击顶部菜单「Run > Edit Configurations」,找到对应脚本的运行配置,将
Working directory参数改为$FileDir$后保存即可 - 双击.py文件运行:右键点击.py文件的快捷方式,选择「属性」,将「起始位置」修改为脚本的存放路径即可
二、代码层面固定路径(不受运行方式影响)
如果希望所有运行场景下都默认以脚本所在目录为工作目录,直接在脚本开头加入以下代码即可:
import os # 自动切换工作目录为当前脚本所在目录 os.chdir(os.path.dirname(os.path.abspath(__file__)))
之后你再使用相对路径引用同目录的mp3等文件,就不会出现找不到的问题了。
内容的提问来源于stack exchange,提问作者s9dw
相关产品推荐
相关产品推荐

