无论用户名如何都在桌面上打开文件

Opening a file on the desktop regardless of username

我正在尝试使用 Python 在我的笔记本电脑上打开一个文件,为此我有以下代码:

filem = open("C:\Users\david\Desktop\project\last_msg_m.txt")

这很好用,但我正在尝试调整它,使其独立于用户名工作,所以我使用了以下内容:

filem = open("C:\Users\"+ l1 +"\Desktop\project\last_msg_m.txt")

但是它不起作用,所以我想知道是否有其他方法可以做到这一点?

  1. 只需使用评论中提到的%userprofile%\desktop%USERPROFILE%\Desktop即可。

  2. 否则你也可以使用os模块:

import os
username = os.getlogin()    # Fetch username
file = open(f'C:\Users\{username}\Desktop\project\last_msg_m.txt') # Use username var in f string

Windows 仅(据我所知):
所以我尝试使用 %userprofile% 但它似乎对我不起作用所以这里有一种不同的方法来获得它:

import os

user_profile = os.environ.get('USERPROFILE')

with open(fr'{user_profile}\Desktop\path\to\file') as file:
    # do things with file

使用环境变量(我也建议使用上下文管理器打开文件)