2013-08-21 117 views
0

我不能解決如何正確地寫這個循環中的問題,它是90%這樣做,但我解決不了這個:解決不了的循環

string.replace(archive_header, "titlefixed", titlefixed) 

必須包括在本作環

for arfosers in archive_header, forum_header, search_header, rss_header: 
    arfosers.write(rss_header + string.replace(footer_p, "<!-- recent posts -->", postgroup)) 
    arfosers.close() 

(幫我GETE擺脫「RSS頭arfosers.write線)

這些都是我想在 'for' 循環做線:

archive_header = string.replace(archive_header, "titlefixed", titlefixed) 
archive_file.write(archive_header + archive_body + string.replace(footer_p, "<!-- recent posts -->", postgroup)) 
archive_file.close() 

forum_header = string.replace(forum_header, "titlefixed", titlefixed) 
forum_file.write(forum_header + string.replace(footer_p, "<!-- recent posts -->",  postgroup)) 
forum_file.close() 

search_header = string.replace(search_header, "titlefixed", titlefixed) 
search_file.write(search_header + string.replace(footer_p, "<!-- recent posts -->", postgroup)) 
search_file.close() 

rss_header = string.replace(rss_header, "titlefixed", titlefixed) 
rss_file.write(rss_header + string.replace(footer_p, "<!-- recent posts -->", postgroup)) 
rss_file.close() 
+1

什麼是你想解決? –

+0

我試圖通過將這13行放在一個for循環中來縮短整個代碼,這將使代碼的可讀性也較小。 – SpringField

+0

@SpringField:第一批是不同的(有3個詞語寫在參數上,而不是兩個)。有足夠的不同變量,我不認爲它會更具可讀性。 –

回答

1

是這樣的嗎?

data = (
    (archive_file, archive_header, archive_body), 
    (forum_file, forum_header, forum_body), 
    (search_file, search_header, search_body), 
    (rss_file, rss_header, rss_body) 
) 

for file, header, body in data: 
    header = string.replace(header, "titlefixed", titlefixed) 
    file.write(header + body + string.replace(footer_p, "<!-- recent posts -->", postgroup)) 
    file.close() 
+0

謝謝你的奇怪和其他提出建議的人。這是我需要怪異的確切的東西:) – SpringField

+0

我正在寫一個類似的答案。一個更正雖然,問題沒有forum_body,search_body和rss_body。 :) – iamkhush

+0

@iamkhush在第二個片段中有'archive_body'(所以我認爲它可能很重要,在其他情況下可以用空字符串替換它)。但是這個想法真的很重要。 :) – freakish

2

對於每個結構元素只讀,正如我所知。嘗試循環索引。

1
lStuff = [ 
     (archive_header,archive_file), 
     (forum_header,forum_file), 
     (search_header,search_file), 
     (rss_header,rss_file) 
     ] 
for header,file in lStuff: 
    header = string.replace(header, "titlefixed", titlefixed) 
    file.write(header + string.replace(footer_p, "<!-- recent posts -->",postgroup)) 
    file.close 
+0

謝謝謝娜:} – SpringField

+0

不客氣 – Sheena