2016-01-19 45 views
0

假設我的文本文件包含字符串key後跟不同的字符串。我如何捕獲下一個字符串並將其寫入Python中的文件中。如何在Python中匹配後捕獲下一個字符串

if 'key' in open('Internet.txt').read(): 
    f=open("pathex","w") 
    f.write("written") 
+0

您是否檢查過[this](http://stackoverflow.com/a/19063909/1559401)?基本上首先你必須找到'鑰匙'的位置,然後從那裏做你想做的事情。你可以發佈你的文件,以便我們可以看到它的結構?可能有更簡單的方法來做你想做的事。 – rbaleksandar

回答

0

您可以通過在線讀取文件中的行,如果key在那裏寫了written到目標文件:

f = open("pathex.txt" , "w") 
with open('Internet.txt', 'r') as file_source: 
    for line in file_source: 
     if key in line: 
      f.write("written") 
0

這聽起來好像運算想寫下面的「鑰匙」的字符串。如果是這種情況,可以使用line.split()將行標記爲列表,然後在該列表中找到'key'的位置並獲取下一個列表元素。

f = open("pathex.txt" , "w") 
with open('Internet.txt', 'r') as file_source: 
    for line in file_source: 
     if key in line: 
      tokens = line.split() 
      keyidx = tokens.index(key) 
      f.write(tokens[keyidx +1]) 

f.close() 

並且不要忘記在完成後關閉輸出文件。 f。close。上下文管理器(帶語句)只關閉輸入文件。

可能比我提供的代碼更簡潔,但嘿,我也是新的。

+0

你不知道'file_source'是如何分裂的,也許不會工作的空間 – Arman

+0

是的。在不知道輸入文件的格式的情況下,我想要一個更通用的例子。儘管Split可以做更多的事情而不是在空白處分割。 Op可以根據需要進行修改以符合輸入文件規範。 –

相關問題