Python如何不依赖系统用户名打开桌面指定路径下的文件
你修改后的代码无法运行的核心原因是变量l1没有提前定义赋值,即使手动赋值用户名,硬拼接路径也很容易因为操作系统路径分隔符差异、特殊字符等问题报错,以下是可直接使用的稳定实现方案:
方案1:使用标准库os模块实现(兼容所有Python版本)
os.path.expanduser("~")可以自动获取当前登录用户的家目录路径,再通过os.path.join拼接后续路径,自动适配系统的路径分隔符:
import os # 拼接得到完整文件路径 file_path = os.path.join(os.path.expanduser("~"), "Desktop", "project", "last_msg_m.txt") # 推荐用with上下文管理器打开文件,自动处理文件关闭 with open(file_path, 'r') as filem: # 这里写你原本处理文件的逻辑 content = filem.read()
方案2:使用pathlib实现(Python 3.4+推荐,写法更简洁)
pathlib是Python3开始推出的面向对象路径处理库,语法更直观:
from pathlib import Path # 自动获取用户家目录后拼接路径 file_path = Path.home() / "Desktop" / "project" / "last_msg_m.txt" with open(file_path, 'r') as filem: # 处理文件逻辑 content = filem.read()
注意事项
- 如果目标路径不存在,运行时会抛出异常,可以提前加判断逻辑:
- os模块判断:
os.path.exists(file_path) - pathlib判断:
file_path.exists()
- os模块判断:
- 如果需要写入文件,把
open的第二个参数改为'w'或者'a'即可。
内容的提问来源于stack exchange,提问作者Jean123
相关产品推荐
相关产品推荐

