2016-11-19 59 views
0

我試圖使用python程序更改script.txt中的某些值。不執行文本更改功能

所以,下面的功能,使這項工作:

​​3210

xy必須引述的數字,即,例如"2""3"。 因爲我需要一個循環超過xy多個值,我創建引用數字列表如下:

def quotes(x): 
    Q = '"%s"'%x 
    return Q; 

SS = list(); 
QS = list(); 

for i in range(4): 
    SS.append(i) 

for j in SS: 
    i = quotes(j) 
    QS.append(i) 

但是當我嘗試運行功能textx()如下:

textx(QS[0], QS[3]) 

該程序運行時沒有任何錯誤,但我期望script.txt文件中的0值將更改爲3,但這種情況不會發生。那麼,我如何才能使text x函數與QS列表的元素正常運行呢?

+0

讓我們看看,如果我理解正確:你想用'3'在文本文件中,正確的,以取代所有'0'? –

+0

Hi Hai Vu,在這種情況下是的!但我需要使用列表QS來做到這一點。這是因爲上面的代碼只是一個草案,真正的代碼將會有一個更大的複雜數字列表,然後只有一個數字會在整個代碼上發生變化。 –

+0

你不需要那些剛添加的';'字符。 – martineau

回答

0

這個問題可能是因爲你投入QS列表的字符串包括兩個雙打引號字符",所以調用字符串replace()方法失敗,並沒有做任何事情。

如果更改quotes()功能:

def quotes(x): 
    Q = '%s' % x 
    return Q 

那麼它應該工作。這也意味着你並不真的需要有獨立的SSQS名單,因爲你可以只產生驅動textx()功能與此一班輪需要一個列表(假設新的列表被命名爲new_list):

new_list = [str(i) for i in range(4)] 

然後用它代替QS撥打textx()
換句話說:

textx(new_list[0], new_list[3])