You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

VSCode中Python运行时工作路径设置问题求助

VSCode中Python运行时工作路径设置问题求助

嗨,这个问题我之前也碰到过,确实挺烦人的!VSCode默认会把你打开的根文件夹作为Python运行时的工作目录,而不是当前代码文件所在的文件夹,这和Spyder的行为不一样,但其实有好几种办法能解决:

方法一:通过launch.json配置自动切换工作目录

这是最一劳永逸的办法:

  1. 打开VSCode的「运行和调试」面板(快捷键Ctrl+Shift+D)
  2. 点击面板里的「创建launch.json文件」,选择Python环境
  3. 在生成的launch.json配置中,给对应的运行项加上"cwd": "${fileDirname}",完整配置示例如下:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 当前文件",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "cwd": "${fileDirname}"
        }
    ]
}

保存之后,每次运行当前代码文件时,VSCode都会自动把工作目录切换到该文件所在的文件夹,你直接用open('csv_folder/info.csv','r')就能读到文件了。

方法二:在代码中手动指定工作目录

如果不想改VSCode的全局配置,也可以在代码开头加几行代码,强制切换工作路径:

import os
# 获取当前代码文件的绝对路径所在目录
current_file_dir = os.path.dirname(os.path.abspath(__file__))
# 切换工作目录到该路径
os.chdir(current_file_dir)

这样不管VSCode默认的工作目录是什么,代码运行时都会自动切换到文件所在的目录,读取相对路径的文件就和Spyder里一样方便了。

方法三:终端运行时手动切换目录

要是你习惯用VSCode的终端直接运行代码,那每次运行前先通过cd命令切换到代码文件所在的文件夹,再执行python Code.py,比如:

cd Secondary_Folder
python Code.py

不过这个方法每次都要手动切换,适合偶尔运行代码的场景。

备注:内容来源于stack exchange,提问作者Raphael

火山引擎 最新活动