2017-06-16 49 views
1

我有這樣刪除線以上蟒蛇文本具體線路

ABC 
DEF 
Ref.By 
AAA 
AAA 

我想行Ref.By.前刪除所有行文本

我該如何在python中做到這一點?

+0

所以文件應該以'Ref.By'開頭? –

+0

你可以逐行解析文件並跳過直到找到'Ref.By'文件, – user3764893

+0

可能重複[question](https://stackoverflow.com/questions/33705009/how-to-remove-all-lines-上述A-某些行合蟒)。希望能幫助到你! – OmaRPR

回答

0
lines = open('your_file.txt', 'r').readlines() 
search = 'Ref.By' 
for i, line in enumerate(lines): 
    if search in line: 
     break 

if i < len(lines) - 1: 
    with open('your_file.txt', 'w') as f: 
     f.write('\n'.join(lines[i + 1:])) 

這是正常的提供您的文件大小是在2-4 MB很好。將它存儲在超出此點的內存中會變得有問題。

+0

如何刪除Ref.By? – Jitesh

+0

@Jitesh我把'lines [i:]'改成'lines [i + 1]'。它會工作。 –

0

試試這個

text_str = """ABC 
DEF 
Ref.By 
AAA 
AAA""" 

text_lines = text_str.split("\n") 

idx = text_lines.index("Ref.By") + 1 

result_text = "\n".join(text_lines[idx:]) 

print(result_text)