这是个问题。在
我有一个.py文件和一个.txt文件。 为了简化,my.txt看起来像:
@x@
在我的。py里
^{pr2}$我想把保存在txt中的x替换成
15
我试过这样:
for i, line in enumerate(fileinput.input('mytxtfile.txt', inplace = 1)):
sys.stdout.write(line.replace('@x@', 'x'))
或与
for i, line in enumerate(fileinput.input('mytxtfile.txt', inplace = 1)):
sys.stdout.write(line.replace('@x@', 'str(x)'))
问题是“replace”方法似乎只考虑字符串,我需要计算字符串的值。 你知道怎么做吗?在
谢谢
把引号去掉
str(x)
如果您想对输出有更多的控制,可以使用格式字符串。例如2位小数
^{pr2}$string.Template
类是一种很好的方法。在http://docs.python.org/library/string.html#template-strings
有了这个类定义,现在就可以这样做了
^{pr2}$这允许您在几乎任何复杂度的模板中的任何位置使用任意数量的替换。这可以优雅地处理大量的案件。在
不确定是否只需要替换“x”还是文件中有其他变量,但如果是这样,我认为您也可以使用以下代码:
相关问题 更多 >
编程相关推荐