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

指定Windows用户ID查询全名时Python脚本语法错误求助

解决指定Windows用户ID获取全名的语法错误

你的语法错误出在字符串拼接的写法上:原代码中'net user' +USERID '/domain ...'不符合Python语法规范——+运算符前后需要有空格分隔,同时拼接后的命令字符串缺少必要的空格,会导致net user命令格式错误。

下面是两种修正方案:

方案1:修复字符串拼接

import subprocess
USERID = "id12345"
# 补全+号前后空格,同时给USERID添加双引号并保留命令所需空格
name = subprocess.check_output(
    'net user "' + USERID + '" /domain | FIND /I "Full Name"', shell=True
)
full_name = name.replace(b"Full Name", b"").strip()
print(full_name.decode())

方案2:使用f-string(推荐)

Python 3.6及以上版本支持f-string,写法更简洁直观,还能避免拼接错误:

import subprocess
USERID = "id12345"
name = subprocess.check_output(
    f'net user "{USERID}" /domain | FIND /I "Full Name"', shell=True
)
full_name = name.replace(b"Full Name", b"").strip()
print(full_name.decode())

额外说明

给USERID套上双引号是为了兼容带空格或特殊字符的用户ID,避免命令执行失败;两种方案都能修复语法错误,同时保证net user命令能正确查询指定域用户的全名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 04:52:27