从python脚本导出tex文件:“TypeError:需要浮点数”

时间:2017-06-01 12:40:31

标签: python string python-3.x latex

这是要写入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)但我仍然有相同的错误。 谢谢

1 个答案:

答案 0 :(得分:6)

您的文字包含另一个%字符(在第三行)。由于%之后的第一个非空格字符是f,因此它被解释为%f(即浮点格式)。您希望通过加倍(%)或使用%%方法而不是format运算符来逃避%的出现。