Python - getattr 和串联

2023-12-11

因此,在我的代码中使用 getattr 时,我发现了以下内容:

myVariable = foo.A.bar

有效...但是是这样的:

B = "A"
myVariable = getattr(foo, B + ".bar")

返回错误,指出 foo 不包含属性 A.bar。我哪里出错了?谢谢!


因为没有属性A.bar on foo。属性bar是指向的对象的一部分A,这是一个属性foo。你需要

getattr(foo.A, "bar")

or

getattr(getattr(foo, 'A'), 'bar')

访问深层属性的通用代码是按点拆分,直到找到最后一部分(我是从内存中编写的,未测试):

def getattr_deep(start, attr):
    obj = start
    for part in attr.split('.'):
        obj = getattr(obj, part)
    return obj

getattr_deep(foo, 'A.bar')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python - getattr 和串联 的相关文章

  • 阻止 TensorFlow 访问 GPU? [复制]

    这个问题在这里已经有答案了 有没有一种方法可以纯粹在CPU上运行TensorFlow 我机器上的所有内存都被运行 TensorFlow 的单独进程占用 我尝试将 per process memory fraction 设置为 0 但未成功
  • 如何覆盖 Django 的默认管理模板和布局

    我正在尝试覆盖 Django 的默认模板 现在只有base site html 我正在尝试更改 django 管理文本 我做了以下事情 我在我的应用程序目录中创建了一个文件夹 opt mydjangoapp templates admin
  • 在 Pandas 中,如何从基于另一个数据框的数据框中删除行?

    我有 2 个数据框 一个名为 USERS 另一个名为 EXCLUDE 他们都有一个名为 电子邮件 的字段 基本上 我想删除 USERS 中包含 EXCLUDE 中包含电子邮件的每一行 我该怎么做 您可以使用boolean indexing
  • 如何使用 colorchecker 在 opencv 中进行颜色校准?

    我有数码相机获取的色彩检查器图像 我如何使用它来使用 opencv 校准图像 按照以下颜色检查器图像操作 您是想问如何进行颜色校准或如何使用 OpenCV 进行校准 为了进行颜色校准 您可以使用校准板的最后一行 灰色调 以下是您应该逐步进行
  • ctypes 错误:libdc1394 错误:无法初始化 libdc1394

    我正在尝试将程序编译为共享库 我可以使用 ctypes 在 Python 代码中使用该库 使用以下命令该库可以正常编译 g shared Wl soname mylib O3 o mylib so fPIC files pkg config
  • NumPy linalg.eig

    我有这个烦人的问题 但我还没有弄清楚 我有一个矩阵 我想找到特征向量 所以我写 val vec np linalg eig mymatrix 然后我得到了 vec 我的问题是 当我小组中的其他人对相同的矩阵 mymatrix 做同样的事情时
  • PyTorch 给出 cuda 运行时错误

    我对我的代码做了一些小小的修改 以便它不使用 DataParallel and DistributedDataParallel 代码如下 import argparse import os import shutil import time
  • 如何在Python中高效地添加稀疏矩阵

    我想知道如何在Python中有效地添加稀疏矩阵 我有一个程序 可以将大任务分解为子任务 并将它们分配到多个 CPU 上 每个子任务都会产生一个结果 一个 scipy 稀疏矩阵 格式为 lil matrix 稀疏矩阵尺寸为 100000x50
  • Python中列表中两个连续元素的平均值

    我有一个偶数个浮点数的列表 2 34 3 45 4 56 1 23 2 34 7 89 我的任务是计算 1 和 2 个元素 3 和 4 5 和 6 等元素的平均值 在 Python 中执行此操作的快捷方法是什么 data 2 34 3 45
  • 根据 Pandas 中的列表对多列进行排序

    感谢有关如何根据 pandas 中的倍数列表对给定多列进行排序的任何提示 如下所示 import pandas as pd sort a a d e sort b s1 s3 s6 sort c t1 t2 t3 df pd DataFra
  • 更改 x 轴比例

    我使用 Matlab 创建了这个图 使用 matplotlib x 轴绘制大数字 例如 100000 200000 300000 我想要 1 2 3 和 10 5 之类的值来指示它实际上是 100000 200000 300000 有没有一
  • ValueError:不支持连续[重复]

    这个问题在这里已经有答案了 我正在使用 GridSearchCV 进行线性回归的交叉验证 不是分类器也不是逻辑回归 我还使用 StandardScaler 对 X 进行标准化 我的数据框有 17 个特征 X 和 5 个目标 y 观察 约11
  • Python、subprocess、call()、check_call 和 returncode 来查找命令是否存在

    我已经弄清楚如何使用 call 让我的 python 脚本运行命令 import subprocess mycommandline lumberjack sleep all night work all day subprocess cal
  • 在 Windows 上使用带有对数刻度的 matplotlib 时出现 Unicode 错误

    我正在使用 python 2 6 和 matplotlib 如果我运行 matplotlib 库页面中提供的示例 histogram demo py 它工作正常 我已经大大简化了这个脚本 import numpy as np import
  • 以编程方式使用 Sphinx 特定指令解析 .rst 文件

    我希望能够在 Python 中解析基于 sphinx 的 rst 以便进一步处理和检查 就像是 import sphinx p sphinx parse path to file rst do something with p 似乎在 do
  • 字符串列表,获取n个元素的公共子串,Python

    我的问题可能类似于this https stackoverflow com questions 37514193 count the number of occurrences of n length not given string in
  • 导入错误:无法导入名称“时间戳”

    我使用以下代码在 python 3 6 3 中成功安装了 ggplot conda install c conda forge ggplot 但是当我使用下面的代码将其导入笔记本时 出现错误 from ggplot import Impor
  • Python问题:打开和关闭文件返回语法错误

    大家好 我发现了这个有用的 python 脚本 它允许我从网站获取一些天气数据 我将创建一个文件和其中的数据集 有些东西不起作用 它返回此错误 File
  • python 日志记录会刷新每个日志吗?

    当我使用标准模块将日志写入文件时logging 每个日志会分别刷新到磁盘吗 例如 下面的代码会将日志刷新 10 次吗 logging basicConfig level logging DEBUG filename debug log fo
  • 使用Multiprocessing和Pool时如何访问全局变量?

    我试图避免将变量冗余地传递到dataList e g 1 globalDict 2 globalDict 3 globalDict 并在全球范围内使用它们 global globalDict然而 在下面的代码中并不是这样做的解决方案 是否有

随机推荐

  • SubprocVecEnv 无法与自定义环境一起使用(稳定基线 - 健身房)

    我使用gym Env作为父类创建了一个自定义环境 并且一切都可以很好地运行单核 我已经开始代码如下 class MyEnv gym Env 但是 如果我尝试使用 SubprocVecEnv 使用所有 24 个 CPU 核心来加速学习过程 我
  • 简单的媒体播放器从文件路径播放mp3?

    我有一个非常简单的播放背景的媒体播放器 它从 apk 调用文件 但我希望它可以从任何目录播放 例如音乐或 SD 卡 这是我的代码 private MediaPlayer mpintro mpintro MediaPlayer create
  • 如何在后台线程上每秒执行一个方法,这样就不会影响应用程序的性能

    我尝试每 30 秒访问一次数据库 但是 每当该方法执行时 我都可以清楚地看到应用程序的性能下降 到目前为止 这是我当前的代码 var timer Timer override func viewDidLoad super viewDidLo
  • dart 中 Paper 元素的实例

    我怎样才能获得一个实例paper input下面的元素 HTML 文件
  • Delphi - 智能指针和泛型 TList

    我有一个智能指针的实现 并且我尝试在通用 TList 上实现它 program Project2 APPTYPE CONSOLE R res uses System SysUtils System Generics Collections
  • 带有 NSAttributedString 的 Cell 使 UITableView 的滚动变慢

    我有一个包含多种单元格的表视图 其中之一是带有 TextView 的单元格 在这个文本视图中 我必须渲染一个NSAttributedString从数据来看 这必须在主线程上完成 根据苹果文档 不应从后台线程调用 HTML 导入器 即选项字典
  • 使用 exec Laravel PHP 运行 .sh 文件

    我正在尝试运行一个 sh 文件 将 Excel 文件导入到我的数据库中 这两个文件位于公共文件夹内的同一目录中 由于某种原因 exec 命令没有被执行 或者没有发生任何错误 sh 文件冷 IFS while read column1 do
  • 在 Objective c 中公开/综合 iVar 属性

    我有一个类 它本质上充当另一个类的轻量级包装类 它将另一个类保存为 iVar 我希望能够公开 iVar 的某些属性 实际上相当多 但要做到这一点 我必须像这样写出每个属性访问器 void setProperty Class value iV
  • 特定的一个表头颜色 java swing

    I want to change the background color of particular table header In my appliaction I have to set header color Red on the
  • 如何显示 wget 的对话框量表?

    我想显示进度wget使用对话框 gauge 我找到了一个解决方案在这个网站上但它的显示率并未达到 100 90 后 对话框冻结 停止并且代码退出 有没有办法显示 wget 的对话框量表 URL http upload wikimedia o
  • 在 clickhouse 中将日期转换为 Jalal 日期

    我使用clickhouse版本22 3 15 33 在我的表中 日期的格式如下 2023 01 15 我想计算表中每个 Jalal 月份变量的总和 所以首先我需要将此日期转换为 Jalal 日期 然后获取月份 然后使用group by基于月
  • 将图像和文本共享到 Facebook Messenger,但 UIActivityViewController 失败

    Question 必须对以下代码进行哪些更改才能确保 Messenger 正常运行 很好地与UIActivityViewController并分享图像和 文本 或者至少是图像 背景 我在用UIActivityViewController分享
  • 在哪里可以找到“SDL_Window”的定义

    我刚刚开始在 Linux 中学习 SDL2 我正在阅读 LazyFoo 的第一个教程 我看到有该代码 The window we ll be rendering to SDL Window window NULL 在哪里可以找到的定义SDL
  • 具有返回 char* 函数的内存管理

    今天 我没有多想 就根据给定枚举值的 switch 语句编写了一个返回 char 的简单函数 然而 这让我想知道如何释放那段记忆 我所做的是这样的 char func char retval new char 20 Switch blah
  • 如何在同一个图表上合并一条线和散点图?

    使用 Rplotly 包创建时 从 data frame 创建的两个单独的图表可以正常工作 然而 我不知道如何将它们组合成一个 大概是使用 add trace 函数 df lt data frame season c 2000 2000 2
  • 如何访问框架内的页面内容?

    我在主窗口内有一个框架 里面有一个带有面板和各种内容的页面 主窗口决定加载哪个页面 然后必须与其内容交互 这就是问题所在 我已经尝试了很多解决方案 最好的是这个 但返回 pageLogin 作为空对象 mainFrame Source ne
  • 在源代码树而不是包中运行所有测试

    我的单元测试与集成测试位于单独的目录树中 但具有相同的包结构 我的集成测试需要可用的外部资源 例如服务器 但我的单元测试完全独立于彼此和环境 在 IntelliJ IDEA v7 中 我定义了一个 JUnit 运行 调试配置来运行顶级包中的
  • 理解这个removeAll java方法和arrayList

    此方法的职责是删除所有出现的值toRemove来自数组列表 剩余的元素应该只是向列表的开头移动 大小不会改变 末尾的所有 额外 元素 但是多次出现toRemove位于列表中 应该只用 0 填充 该方法没有返回值 如果列表没有元素 那么它应该
  • 考虑到记录的大小,在网格视图中实现分页的最佳程序是什么?

    我在 sq server db 中有一个表有超过 100 万行 我需要在 gridview 中显示这些数据 并在 asp net 页面中分页 由于记录量较大 我需要提高页面显示数据的性能 实现分页 我应该遵循什么程序来实现分页 请帮忙 有多
  • Python - getattr 和串联

    因此 在我的代码中使用 getattr 时 我发现了以下内容 myVariable foo A bar 有效 但是是这样的 B A myVariable getattr foo B bar 返回错误 指出 foo 不包含属性 A bar 我