替换"%s"在python中带变量的变量中

时间:2014-10-29 13:39:04

标签: python python-2.7

以下是我要做的事情:

我有一个带有以下内容的文件transfer.txt:

<RECORD1>DATA</RECORD1>
<RECORD2>%s</RECORD2>

我正在我的python程序中读取此文件:

with open ("../config/transferxml.txt", "r") as myfile:
    xmldata=myfile.read().replace('\n', '')

现在我将文件内容作为变量中的字符串。我想用可变的替换xmldata中的'%s'。例如,我尝试过:

xmldatawithvariable=(xmldata, %(requestid))

任何人都可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您刚刚使用了错误的字符串格式语法。请改用:

python
>>> s = 'hello %s'
>>> t = s % ('world')
>>> t
'hello world'

对于您的代码,意味着使用:

xmldatawithvariable = xmldata % (requestid)

答案 1 :(得分:0)

您可以使用%

>>> x='<RECORD1>DATA</RECORD1><RECORD2>%s</RECORD2>'
>>> x%10
'<RECORD1>DATA</RECORD1><RECORD2>10</RECORD2>'
>>> x%'VAL'
'<RECORD1>DATA</RECORD1><RECORD2>VAL</RECORD2>'