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

Python(Selenium):如何通过字符串名称获取模块内变量实际值?

解决方法

你当前的代码只是拼接出了变量名的字符串,并没有获取到该变量对应的实际值,这里提供几种实现方式:

方法一:使用globals()获取全局变量

globals()会返回当前全局命名空间的字典,你可以通过变量名字符串作为键,取出对应的值:

from users import *

start_user_num = 1
next_user = globals()[f"user{start_user_num}"]
print(f"The user is {next_user}")

方法二:通过getattr()从模块中获取变量

这种方式更安全,明确指定从users模块中获取目标变量:

import users

start_user_num = 1
next_user = getattr(users, f"user{start_user_num}")
print(f"The user is {next_user}")

更推荐的优化方案:重构users模块的结构

单独定义user1、user2这类变量既不便于遍历维护,也不符合Python的编码习惯,建议把用户数据改成列表或字典:

修改users.py:

# 用列表存储,按顺序对应原user1到userN
users_list = ["Jeremy", "John", "Alana", "Bella"]

# 或者用字典,键可以自定义
users_dict = {
    "user1": "Jeremy",
    "user2": "John",
    "user3": "Alana",
    "user4": "Bella"
}

主代码调用示例:

# 使用列表的情况(注意列表索引从0开始)
from users import users_list

start_user_num = 1
next_user = users_list[start_user_num - 1]
print(f"The user is {next_user}")

# 使用字典的情况
from users import users_dict

start_user_num = 1
next_user = users_dict[f"user{start_user_num}"]
print(f"The user is {next_user}")

这样后续添加用户、遍历用户都会更便捷,代码可读性也更强。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:01:11