2017-09-03 63 views
0

這個例子是有一個列表lst = [2,4,6,8,10]和一個包含'h = 1'的文本文件,我想在lst中將數字改成1,並保留該文本的其餘部分保持不變,自動保存在單獨的文本文件中。我用.replace('h = 1','h = 2')寫了一個啞巴,但是由於我必須手動編輯它,所以它在大量使用時不起作用。我怎樣才能實現隨機輸入列表給出的函數,文本文件可以用列表中的值代替?如何在一個文本文件中用列表中的幾個數字替換字符串?

+0

我建議你寫清楚你的代碼,並試圖用簡潔明瞭的方式來重新提出問題。 –

+0

@KshitijMittal基本上我有一個文本文件的行「h = 1」,我需要一個可以讀取數字列表的代碼,並用1代替每個項目(h是變量),然後創建一堆新的帶有h的文件等於不同的值。 –

回答

0

使用str.format()。 {}是字符串中的通配符。 '{} is the number {}'.format('one', 1)返回字符串'one is the number 1'

file_name = 'the_file_{}.txt' 
my_list = [2, 3, 4, 5, 6] 
for num in my_list: 
    new_file = open(file_name.format(num), 'w') 
    new_text = big_text_string.replace('h=1', 'h={}'.format(num)) 
    new_file.write(new_text) 
    new_file.close() 

你可以寫一個函數,該列表作爲變量。

相關問題