2017-06-08 181 views

回答

0

如果你的問題是,原來的文件,該文件是startWord和endWord之間的複製部分,您可以使用此這是非常輕微的 Extract subset of file in bash or Python

begin = 'BEGINSTRING' 
end = 'ENDSTRING' 

with open(f, 'r') as input_file: 
    tmp = [] 
    flag = False 

    for line in input_file.readlines(): 

    if begin in line:    
     flag = True 
     index = line.find(begin) 
     tmp.append(line[index:]) 
     continue 
    elif flag: 
     tmp.append(line) 
    elif end in line: 
     index = line.find(end)    
     tmp.append(line[:index+1]) 
     break 
    else: 
     pass 

with open(f + '_new', 'w') as output_file: 
    for line in tmp: 
    output_file.write(line) 
+0

謝謝,Sandeep! =)這工作很好。 –

+0

如果我想添加strip(),開始和結束......我該怎麼做?我正在尋找一個確切的短語。 –

+0

@CookiesMonster我並沒有完全理解你想使用strip()。 如果您想將它用於開始和結束的單詞,您可以在第1行和第2行中使用它,即begin ='BEGINSTRING'.strip()和類似的結束.....。 如果你想從文件的最後一個子集中去掉字符,你可以在for循環之後和寫入新文件之前使用tmp.strip()。 – Sandeep