2014-10-29 27 views
-1

這裏就是我想要做:替換「%s」表示一個變量,變量在python

我有以下內容的文件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)) 

任何人都可以幫助我嗎?

+3

擺脫多餘標點符號的(並添加一些空格): 'xmldatawithvariable = xmldata%requestid'。另外,通常情況下,提供*實際回溯*可能會有所幫助。 – jonrsharpe 2014-10-29 13:41:14

+0

謝謝!規則指出。 – 2014-10-29 14:36:23

回答

1

您剛剛使用了不正確的語法來格式化字符串。這意味着使用

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

爲您的代碼:使用此而不是

xmldatawithvariable = xmldata % (requestid) 
+0

是的,工作..謝謝你 – 2014-10-29 14:38:23

0

您可以使用%

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