这是要写入tex文件的内容:
content=r'''\documentclass[a4paper,11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{booktabs} % for much better looking tables
\usepackage{multirow}
\usepackage{caption}
\captionsetup{labelformat=empty}
\begin{document}
\begin{table}[htbp]\caption{Common Prediction}
\centering
\input{common%(index)s}
\end{table}
\end{document}
'''
我想用整数值替换'index'。 我写的时候:
with open(directoryPath + os.sep +'commonTables3.tex','w') as f:
f.write(content%({'index':str(3)}))
我有以下错误:
f.write(content%({'index':str(3)}))
TypeError: a float is required
我不明白我的错误在哪里。我尝试在'%(index)d'中更改'%(index)s'('index'中的'index':str(3):3)但我仍然有相同的错误。 谢谢
答案 0 :(得分:6)
您的文字包含另一个%
字符(在第三行)。由于%
之后的第一个非空格字符是f
,因此它被解释为%f
(即浮点格式)。您希望通过加倍(%
)或使用%%
方法而不是format
运算符来逃避%
的出现。