VS Code使用Anaconda环境运行Python读写文件需填写完整路径问题
问题排查解决步骤
1. 优先确认VS Code当前工作目录
相对路径的参考基准是Python进程的当前工作目录(CWD),而非你编写的.py脚本的存储目录,这是90%以上同类问题的诱因。
- 排查方法:在你运行的代码开头加入以下代码,执行后查看输出路径:
import os print(os.getcwd())
- 若输出路径不是你预期的
Simulator v1.6文件夹,可通过以下任意一种方法修复:- 打开VS Code时直接选择
Simulator v1.6作为根文件夹,不要在上层目录打开后再找子文件夹 - 在VS Code的运行配置文件
launch.json中新增字段:"cwd": "${fileDirname}",强制将工作目录指定为当前运行脚本的所在目录 - 在代码开头动态切换工作目录:
import os os.chdir(os.path.dirname(os.path.abspath(__file__))) - 打开VS Code时直接选择
2. 检查VS Code集成终端的默认路径配置
- 打开VS Code终端,Windows环境输入
cd、Mac/Linux输入pwd,查看终端默认路径是否匹配项目文件夹 - 若不匹配,打开VS Code设置,搜索
terminal.integrated.cwd,将值修改为${fileDirname},即可让终端默认在当前脚本所在目录启动。
3. 排查OneDrive同步干扰
你的项目路径在OneDrive同步目录下,OneDrive的实时同步锁可能会拦截相对路径的写入请求,出现无响应、不生成文件的情况:
- 临时暂停OneDrive同步后,再次运行
df.to_csv("listofcoord.csv")测试是否正常 - 或将项目整体迁移到非OneDrive同步的本地目录,排除同步机制影响。
4. 验证文件夹写入权限
右键点击Simulator v1.6文件夹,选择「属性-安全」,确认当前Windows用户对该文件夹拥有「写入」「修改」权限,无权限则开启对应权限即可。
通用兼容方案
如果不想依赖工作目录配置,可直接用__file__变量动态拼接绝对路径,适配所有运行环境:
import os import pandas as pd # 获取当前脚本所在文件夹的绝对路径 base_path = os.path.dirname(os.path.abspath(__file__)) # 拼接目标csv文件路径 target_path = os.path.join(base_path, "listofcoord.csv") # 导出文件 df.to_csv(target_path)
内容的提问来源于stack exchange,提问作者Eric Shimomoto
相关产品推荐
相关产品推荐

