VS2022中Python调用open()函数无法识别指定绝对路径文件
问题根因与解决方案
你遇到的绝对路径不生效、强制检索项目目录的问题,是Visual Studio 2022 Python工具链的默认配置bug+路径硬编码错误共同导致的,按以下步骤逐一排查即可解决:
- 先修正硬编码路径的用户名错误:你代码中写的路径是
C:/Users/name/Desktop/bigfile.txt,但从你给出的项目路径C:\Users\ender\source\repos\Python Files Testing可以看出,当前系统登录用户名是ender而非name,首先把路径替换为x = open(r'C:\Users\ender\Desktop\bigfile.txt')。Python在Windows环境下原生支持正斜杠、反斜杠路径,不需要特意调整斜杠格式。 - 修正路径后仍不生效的,直接修改VS2022的调试配置:右键解决方案资源管理器中的对应Python项目,选择「属性」,切换到「调试」标签页,清空「工作目录」输入框的内容,或者手动填入桌面文件所在的绝对路径,保存配置后重启调试即可。VS2022默认会将Python程序的运行工作目录锁定在项目根目录,部分版本的Python开发组件存在路径解析bug,会错误将传入的绝对路径按照相对路径规则拼接到项目工作目录后再访问,就会出现你遇到的“给了绝对路径还在项目目录找文件”的现象。
- 不想反复调整配置的,可以用动态路径写法彻底规避这类问题,不需要硬编码用户名和盘符:
import os # 自动获取当前用户的桌面路径 current_desktop = os.path.join(os.path.expanduser("~"), "Desktop") target_file = os.path.join(current_desktop, "bigfile.txt") x = open(target_file)
- 排查阶段可以在打开文件的代码前加一行打印语句,直接确认程序实际尝试访问的路径:
print(os.path.abspath(target_file))
运行后看控制台输出的路径和你预期的文件位置是否一致,就能快速定位是路径书写错误还是环境配置问题。
内容的提问来源于stack exchange,提问作者bruh
相关产品推荐
相关产品推荐

