Python 3.6+ 格式化解包字典中缺少键的字符串

2023-12-29

在Python3.4中你可以做以下事情:

class MyDict(dict):
    def __missing__(self, key):
        return "{%s}" % key

然后是这样的:

d = MyDict()
d['first_name'] = 'Richard'
print('I am {first_name} {last_name}'.format(**d))

打印,如预期:

I am Richard {last_name}

但这段代码在 Python3.6+ 中不起作用,返回一个KeyError在试图获得last_name字典中的值,是否有任何解决方法可以使该字符串格式以与 Python3.4 中相同的方式工作?

Thanks!


我用它解决了format_map https://docs.python.org/3/library/stdtypes.html#str.format_map代替format,按照我的例子:

print('I am {first_name} {last_name}'.format_map(d))

Printed

I am Richard {last_name}

正如预期的那样。

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

Python 3.6+ 格式化解包字典中缺少键的字符串 的相关文章

  • Django 模型在模板中不可迭代

    我试图迭代模型以获取列表中的第一个图像 但它给了我错误 即模型不可迭代 以下是我的模型和模板的代码 我只需要获取与单个产品相关的列表中的第一个图像 模型 py class Product models Model title models
  • if 语句未命中中的 continue 断点

    在下面的代码中 两者a and b是生成器函数的输出 并且可以评估为None或者有一个值 def testBehaviour self a None b 5 while True if not a or not b continue pri
  • Argparse nargs="+" 正在吃位置参数

    这是我的解析器配置的一小部分 parser add argument infile help The file to be imported type argparse FileType r default sys stdin parser
  • Pandas 中允许重复列

    我将一个大的 CSV 包含股票财务数据 文件分割成更小的块 CSV 文件的格式不同 像 Excel 数据透视表之类的东西 第一列的前几行包含一些标题 公司名称 ID 等在以下列中重复 因为一家公司有多个属性 而不是一家公司只有一栏 在前几行
  • 填充两个函数之间的区域

    import matplotlib pyplot as plt import numpy as np def domain x np arange 0 10 0 001 f1 lambda x 2 x x 2 0 5 plt plot x
  • Pandas 数据帧到 numpy 数组 [重复]

    这个问题在这里已经有答案了 我对 Python 很陌生 经验也很少 我已经设法通过复制 粘贴和替换我拥有的数据来使一些代码正常工作 但是我一直在寻找如何从数据框中选择数据 但无法理解这些示例并替换我自己的数据 总体目标 如果有人真的可以帮助
  • 使用 Python pandas 计算调整后的成本基础(股票买入/卖出的投资组合分析)

    我正在尝试对我的交易进行投资组合分析 并尝试计算调整后的成本基础价格 我几乎尝试了一切 但似乎没有任何效果 我能够计算调整后的数量 但无法获得调整后的购买价格有人可以帮忙吗 这是示例交易日志原始数据 import pandas as pd
  • 具有字符串类型的 CAPL 关联数组

    按照此paper https kb vector com upload 551 file CAPL 3 CANNewsletter 201411 PressArticle EN pdf 我正在尝试创建一个像这样的关联数组 variables
  • Python urllib.request.urlopen:AttributeError:'bytes'对象没有属性'data'

    我正在使用 Python 3 并尝试连接到dstk 我收到错误urllib包裹 我对SO进行了很多研究 但找不到与这个问题类似的东西 api url self api base street2coordinates api body jso
  • 如何解决使用 Spark 从 S3 重新分区大量数据时从内存中逐出缓存的表分区元数据的问题?

    在尝试从 S3 重新分区数据帧时 我收到一个一般错误 Caused by org apache spark SparkException Job aborted due to stage failure Task 33 in stage 1
  • 如何设置 Celery 来调用自定义工作器初始化?

    我对 Celery 很陌生 我一直在尝试设置一个具有 2 个独立队列的项目 一个用于计算 另一个用于执行 到目前为止 一切都很好 我的问题是执行队列中的工作人员需要实例化一个具有唯一 object id 的类 每个工作人员一个 id 我想知
  • 在 pytube3 中获取 youtube 视频的标题?

    我正在尝试构建一个应用程序来使用 python 下载 YouTube 视频pytube3 但我无法检索视频的标题 这是我的代码 from pytube import YouTube yt YouTube link print yt titl
  • 将名称字符串编码为唯一的数字

    我有一大堆名字 数以百万计 他们每个人都有一个名字 一个可选的中间名和一个姓氏 我需要将这些名称编码为唯一代表这些名称的数字 编码应该是一对一的 即一个名称只能与一个数字相关联 一个数字只能与一个名称相关联 对此进行编码的明智方法是什么 我
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • 默认情况下,Keras 自定义层参数是不可训练的吗?

    我在 Keras 中构建了一个简单的自定义层 并惊讶地发现参数默认情况下未设置为可训练 我可以通过显式设置可训练属性来使其工作 我无法通过查看文档或代码来解释为什么会这样 这是应该的样子还是我做错了什么导致默认情况下参数不可训练 代码 im
  • 限制 django 应用程序模型中的单个记录?

    我想使用模型来保存 django 应用程序的系统设置 因此 我想限制该模型 使其只能有一条记录 极限怎么办 尝试这个 class MyModel models Model onefield models CharField The fiel
  • 在Python中按属性获取对象列表中的索引

    我有具有属性 id 的对象列表 我想找到具有特定 id 的对象的索引 我写了这样的东西 index 1 for i in range len my list if my list i id specific id index i break
  • 从 Twitter API 2.0 获取 user.fields 时出现问题

    我想从 Twitter API 2 0 端点加载推文 并尝试获取标准字段 作者 文本 和一些扩展字段 尤其是 用户 字段 端点和参数的定义工作没有错误 在生成的 json 中 我只找到标准字段 但没有找到所需的 user fields 用户
  • 运算符“==”不能应用于“int”和“string”类型的操作数

    我正在编写一个程序 我想到了一个数字 然后计算机猜测了它 我一边尝试一边测试它 但我不断收到不应该出现的错误 错误是主题标题 我使用 Int Parse 来转换我的字符串 但我不知道为什么会收到错误 我知道它说 不能与整数一起使用 但我在网
  • Scrapy Spider不存储状态(持久状态)

    您好 有一个基本的蜘蛛 可以运行以获取给定域上的所有链接 我想确保它保持其状态 以便它可以从离开的位置恢复 我已按照给定的网址进行操作http doc scrapy org en latest topics jobs html http d

随机推荐

  • 更改 RiverPod StateNotifier 状态的属性

    当 StateNotifier 与 Riverpod 一起使用时 每当我们更改状态对象的任何属性时 如何通知状态更改 class UserState String name int age bool isActive bool isLoad
  • 如何删除R中的目录?

    经过一些研究 我发现以下方法有效 unlink mydir 你必须使用recursive如果您想递归删除选项 unlink mydir recursive TRUE 但是 我注意到unlink mydir 独自一人 没有recursive选
  • Ubuntu 18.04 中的正确 PHP 版本中未安装 gRPC 扩展

    我正在尝试按照官方的说明安装 gRPC 扩展guidance https grpc io docs languages php quickstart 我已经遵循了所有步骤 但在最后的步骤中 我得到了这个 我认为稍后会很重要 cd grpc
  • 了解如何在 R 中处理内部 C 函数

    我想知道是否有人可以向我说明 R 如何执行C从控制台提示符下键入的 R 命令进行调用 我特别困惑的是R对 a 函数参数和 b 函数调用本身的处理 让我们举个例子 在这种情况下set seed 想知道它是如何工作的 我在提示符下输入名称 获取
  • 如何在 .Net 中设置单元测试项目?

    您能否分享您在 net 解决方案中设置单元测试项目的方式 我可以想象几种可能的方法 例如 拥有单独的单元测试解决方案 完美反映正在测试的原始代码解决方案的结构 在原始代码解决方案中 有一个解决方案文件夹 您可以在其中完美镜像 每个代码项目都
  • 为 TableView 中的所有单元格设置标签的正确方法

    我正在使用一个里面的按钮tableView其中我得到indexPath row当被按下时 但只有当单元格可以显示在屏幕上而无需scroll 一旦 tableView 可以滚动并且我滚动 uitableview indexPath row返回
  • count(*) 真的很贵吗?

    我有一个页面 其中有 4 个选项卡 显示基于不同表格的 4 个不同报告 我使用以下方法获取每个表的行数select count from table 查询并显示选项卡上每个表中可用的行数 结果 每个页面回发都会导致 5count 要执行的查
  • 在 ItemsControl 中的每个项目周围包裹一些东西

    假设我有不同类的对象的集合 每个类在资源文件中都有其 UserControl DataTemplated 现在我想使用 ItemsControl 来显示集合 但我希望每个项目周围有一个边框或扩展器 我希望这样的事情能够发挥作用
  • 如何在 NextJS 中从 /api 创建文件?

    我目前正在尝试创建一个临时文件 api sendEmail js with fs mkdirSync fs mkdirSync path join dirname public 但在 Vercel 部署平台 上 所有文件夹都是只读的 我无法
  • JavaFx-14 resizeColumnToFitContent 方法

    JavaFx 14 将此方法放在 TableColumnHeader 中 而不是放在 Skin 中 如何从 TableColumn 和 TableView 中找到 TableColumnHeader 不知道你是否还需要这个 但如果其他人感兴
  • 使用高斯混合模型和 scikit learn 进行多类分类

    我正在尝试使用sklearn mixture GaussianMixture用于高光谱图像中的像素分类 有 15 个班级 1 15 我尝试使用该方法http scikit learn org stable auto examples mix
  • 如何为使用“create-react-app CLI”创建的现有React应用程序生成bundle.js

    这个问题与this https stackoverflow com questions 46564182 how to convert a react app to phonegap app所以帖子 我在用着create react app
  • BindingExpression 的源发生更改时发出通知?

    测试场景 我有一个带有 DependencyProperty A 的控件 我有一个带有属性 A 的 ViewModel 我使用 OneWayToSource 绑定将其绑定到控件的 A 属性 绑定由控件显式更新 我在运行时切换了绑定的 Vie
  • UICollectionView 的每个部分独立滚动?

    是否可以使用UICollectionView构建一个布局 其中每个section可以独立滚动吗 例如 假设有 20 行图像 其中每行都可以独立水平滚动以在屏幕外显示更多图像 在此过程中无需滚动其他行 并且整个视图可以垂直滚动以显示更多行 我
  • 使用until 参数调用Facebook News feed (me/home),每次连续调用返回limit/2

    这是我的代码的精简版本 没有初始化调用 一切都很完美 除了我每次连续调用都会传递一个until值转化为FB api 返回极限 2 我曾尝试使用不同的 Facebook 帐户在两次通话之间等待长达 1 分钟 但这对解决问题没有帮助 我检查了n
  • 如何从c++运行c++代码?

    如果我有一些 C 代码作为 C 程序中的字符串量 数据 我可以执行该字符串的内容吗 如在 C 中使用 CodeDOM 或 perl python 等中存在的 eval 函数 简短回答 你不能 稍微长一点的答案 c 没有反射 而且一般都是编译
  • Sublime Text 构建系统与选项

    我有一个项目的各种 shell 构建脚本 并且希望创建一个集中式构建系统 其中包含允许运行哪个 shell 脚本的选项 例如 用户按 Cmd B 然后用户会看到以下选项 1 shellscript1 sh2 shellscript2 sh3
  • 创建 XML 的最快且最有效的方法

    在 Java 中创建 XML 文档最快 最有效的方法是什么 那里有大量的库 woodstox xom xstream 只是想知道是否有人有任何输入 我应该采用代码生成方法 因为 xml 模式众所周知 吗 或者运行时的反射方法 编辑附加信息
  • 是否可以分层标记 matplotlib (pyplot) 条形图?

    我已经成功使用 matplotlib pyplot 绘制了以下条形图 该图来自聚合的 PANDAS DataFrame 如下所示 请注意 条形图中的每个条对应于mean柱子 另请注意 这些值是not零 但 PANDAS 输出0 and 0当
  • Python 3.6+ 格式化解包字典中缺少键的字符串

    在Python3 4中你可以做以下事情 class MyDict dict def missing self key return s key 然后是这样的 d MyDict d first name Richard print I am