You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python输出文件名无法替换登录用户名变量的问题求助

问题原因及解决办法

问题根源

你用了**原始字符串(r前缀)**且未使用字符串格式化语法,Python不会自动解析{username}占位符,只会把它当作普通字符输出。getpass.getuser()本身能正确获取用户名,问题出在文件名的字符串处理环节。

几种正确写法

1. f-string(推荐,Python 3.6+)

在字符串前加f前缀,同时保留r前缀处理路径里的反斜杠:

import getpass

username = getpass.getuser()

output_excel_file = fr'C:\Users\name\OneDrive\Outputs\Outputs_{username}.xlsx'

2. str.format()方法

适用于Python 3.5及以下版本,或习惯这种写法的场景:

import getpass

username = getpass.getuser()

output_excel_file = r'C:\Users\name\OneDrive\Outputs\Outputs_{}.xlsx'.format(username)

3. 字符串拼接

虽然可行,但可读性不如前两种方式:

import getpass

username = getpass.getuser()

output_excel_file = r'C:\Users\name\OneDrive\Outputs\Outputs_' + username + '.xlsx'

内容的提问来源于stack exchange,提问作者thepen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 02:54:53