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

如何使用Python获取cmd中显示的Windows系统用户名

实现方案

你需要提取的是Windows标准C:\Users\目录下紧跟的用户名字段,以下是几种不同实现方式:

方法1:使用pathlib(Python 3.4+ 推荐,路径处理最规范)

属于Python标准库,无需额外安装,自动适配不同路径分隔符,容错性最高:

from pathlib import Path

def get_username_from_path(file_path):
    path_obj = Path(file_path)
    parts = path_obj.parts
    if 'Users' in parts:
        users_index = parts.index('Users')
        if len(parts) > users_index + 1:
            return parts[users_index + 1]
    return None

# 测试用例
print(get_username_from_path(r'C:\Users\john\Desktop\chrome.exe'))  # 输出john
print(get_username_from_path(r'C:\Users\Steve\Desktop\chrome.exe')) # 输出Steve

方法2:使用os.path模块(兼容Python2及旧版本Python)

适配旧版本Python的实现方案:

import os

def get_username_from_path(file_path):
    path_split = []
    while True:
        file_path, tail = os.path.split(file_path)
        if tail:
            path_split.append(tail)
        else:
            if file_path:
                path_split.append(file_path)
            break
    path_split = path_split[::-1]
    if 'Users' in path_split:
        users_index = path_split.index('Users')
        if len(path_split) > users_index + 1:
            return path_split[users_index + 1]
    return None

# 测试用例
print(get_username_from_path(r'C:\Users\john\Desktop\chrome.exe'))  # 输出john

方法3:简单字符串分割(仅适配固定格式路径的极简方案)

如果你的输入路径格式完全固定为C:\Users\用户名\...格式,可以用更简短的实现:

def get_username_from_path(file_path):
    return file_path.split('\\')[2]

# 测试用例
print(get_username_from_path(r'C:\Users\john\Desktop\chrome.exe')) # 输出john

注意:该方法仅适用于路径格式完全固定的场景,容错性较低,不推荐用于输入不确定的生产环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 10:18:03