python - 防止打印类数据的字符串变量
问题描述
每当我尝试这个:
x = input(foo)
showstat(x)
def showstat(y):
print(y.thing)
它作为错误返回
“str”对象没有属性“thing”
但我不知道如何更改它的数据类型以使其正常运行。
我只需要弄清楚如何使它读作:
print(foo.thing)
而不是错误:
print("foo".thing)
解决方案
听起来您正在尝试将输入评估为 python 表达式,以便您可以使用输入的名称检索变量。它是否正确?
如果是这样,您可以使用
eval(x)
虽然更安全会像
locals()[x]
我会亲自对您的输入执行此操作,而不是作为功能的一部分,但这完全取决于您要执行的其他操作。
推荐阅读
- ibm-mobilefirst - IBM Mobilefirst V8 - 使用 Ionic v3.20.0 的混合应用程序的自定义直接更新未发生
- php - Laravel 5.6 奇怪的行为 - 我重命名后 Laravel 看不到控制器
- aem - AEM /welcome 未重定向到 /libs/cq/core/content/welcome.html
- python - 将直线显示为斜坡的绘图 - Python
- asp.net-web-api - Coinigy v2 API - 如何使用 StartDate 和 EndDate 参数调用交易历史 API
- java - 数据库从 WSO2 bps 迁移到 Camunda
- shell - 只需要 grep IP 地址
- javascript - 观看 $route.params.slug 不会触发 vuejs
- kubernetes - 为什么 ThingsBoard 服务的 Kubernetes 配置文件将 TCP 用于 CoAP?
- c - 读取 C 中的访问冲突,试图找到源