2012-10-03 81 views
1

我正在開發一個安裝程序,我需要創建一個用YAML編寫的設置文件。該文件有一些佔位符需要填寫用戶提供的數據。 哪裏讀取文件的代碼如下:使用佔位符在Python中加載文本文件

f = open ('settings.py', 'w +') 
settings = open (path + '/ settings_model.yaml', 'r').read() 
settings% (user_var) 
f.write (settings) 
f.close() 

而且settings_model.yaml文件是一樣的東西:

「」 「PATH =」%s「 於 」「

當我運行腳本,佔位符不填充

「」「PATH =「%s」於「」

我該怎麼做才能實現這個佔位填寫正確?

+0

看起來像第三行應該是'設置=設置%(user_var)'。或者沒有括號。 – Junuxx

+0

當然你必須將操作結果返回到設置變量'settings = settings%user_var' –

回答

2

乍一看,我會說你需要你的-operation%的結果某處分配:

settings = settings % user_var 

settings% (user_var) 

(圍繞user_var的()代替有什麼區別,如果你想要它是一個元組,請使用(user_var,),但這是不言而喻的,都應該工作)。

不知何故,整個事情並不感到很安全或安全的,但你只問你的代碼的一個修復;)

+0

感謝您的回覆。問題在於設置文件的內容被用引號括起來。此外,在修改變量設置後,我也轉到了賦值。 – Topicus