Python 使用重复变量的基于字典的字符串格式
我想使用变量格式化字符串。包含Python 使用重复变量的基于字典的字符串格式,python,python-2.7,string-formatting,Python,Python 2.7,String Formatting,我想使用变量格式化字符串。包含%和.format()选项 但是,由于我要格式化的字符串是一段LaTeX代码,我选择使用过时的%-版本,因为我的代码中已经有{和}字符。(我不想逃避它们,因为代码会经常更新) 我的问题是:当我运行代码时,出现以下错误: TypeError:格式字符串的参数不足 我使用字典来定义变量,它们都被定义了。据我所知,它可能来自%中用于注释的%字符,这在python中可能会被错误解释 我如何处理这个问题?真正的问题/解决方案是:我的.tex代码包含以下注释的tex命令:%\b
%
和.format()
选项
但是,由于我要格式化的字符串是一段LaTeX
代码,我选择使用过时的%
-版本,因为我的代码中已经有{
和}
字符。(我不想逃避它们,因为代码会经常更新)
我的问题是:当我运行代码时,出现以下错误:
TypeError:格式字符串的参数不足
我使用字典来定义变量,它们都被定义了。据我所知,它可能来自%
中用于注释的%
字符,这在python中可能会被错误解释
我如何处理这个问题?真正的问题/解决方案是:我的
.tex
代码包含以下注释的tex
命令:%\begin{itemize}
然后%\end{itemize}
Python将%\
-模式理解为对键的调用。。。这不是故意的
注:为了使您的
LaTeX
codepython
可读,您需要转义%
,即用以下模式注释您的.tex
代码:%
(%Space)真正的问题/解决方案是:我的.tex
代码包含以下注释的tex
命令:%\begin{itemize}
然后%\end{itemize}
Python将%\
-模式理解为对键的调用。。。这不是故意的
注:为了使您的
LaTeX
codepython
可读,您需要对%
进行转义,即使用以下模式注释您的.tex
代码:%
(%Space)请隔离问题,以便向我们展示一些代码。目前,我想知道您是否没有使用%(key)s
从您的dict中获取值?@Ulrich我会清理我的代码并发布它。为了回答你的问题,我在我的.tex
代码中使用了%(key)s
,并定义了一个dict={'key1'='foo','key2'='bar}
。(:也许你忘了某个地方一直发生在我身上的s
,因为%
会给出一个KeyError
如果它无法从dict中找到一个键,那么你给出的TypeError
应该只有在你使用非dict版本并且替换的%
比dict多的情况下才会出现。@Ulrich找到了!请看我的自动回答。)。抱歉打扰您,回答是thx(-:请隔离问题,以便向我们展示一些代码。目前,我想知道您是否没有使用%(key)s
从您的dict中获取值?@Ulrich我将清理我的代码并发布它。要回答您的问题,我使用%(key)s
在my.tex中
编码并定义了一个dict={'key1'='foo','key2'='bar}
。(:也许你忘了某个地方一直发生在我身上的s
,因为%
会给出一个KeyError
如果它无法从dict中找到一个键,那么你给出的TypeError
应该只有在你使用非dict版本并且替换的%
比dict多的情况下才会出现。@Ulrich找到了!请看我的自动回答。)。抱歉打扰您,回答(-)请点击thx: