2017-07-16 74 views
-1

我有一個文本文件,我必須替換多個單詞。在文本文件中替換多個單詞

到目前爲止的代碼:讀取

NUMBEROFAPNS = raw_input("Please enter the APNS needed in the LTE profile: ") 
    NUMBEROFAPNS = int(NUMBEROFAPNS) 
    i = 0 
    for i in range(NUMBEROFAPNS): 
     APNS[i] = raw_input("enter the APN" + str(i+1)) 
     i = i + 1 

    n = 0 
    for n in range(NUMBEROFAPNS): 
     REPLACEAPN_input= (dict.values(APNS))[0] 



     MAKEITDEFAULT_input=int(0+1) 
     APNheader = str(pwd) + "/APNCREATION.txt" 
     APNread = open(APNheader, "r") 
     s=APNread.read() 



     reps= {'REPLACEAPN':REPLACEAPN_input,'MADEIT':str(MAKEITDEFAULT_input),} 
     txt = self.replace_all(s, reps) 
     print txt 





def replace_all(self, text, dic): 
    for i, j in dic.iteritems(): 
     text = text.replace(i, j) 
     return text 

文本文件看起來像這樣

<epsPdnContext> 
<apn>REPLACEAPN</apn> 
<contextId>MADEIT</contextId> 

我能夠在這裏更換REPLACEAPN字我給任何輸入,但是MADEIT字根本沒有被取代。 請讓我知道我在這裏做錯了什麼。

+0

您在'reps'字典中沒有'MADEIT'鍵。 – taras

+0

對不起..我在post.Mode複製代碼時發生了一些錯誤。請參見正確的代碼。我想用整數1替換MADEIT,但它不起作用 –

+0

您確定您現在沒有錯誤嗎? – taras

回答

0

這是因爲你的return語句在for循環中。如果將其移出(即,通過一個選項卡將其縮小),它應該可以工作。

+0

非常感謝指出我的錯誤 –