2017-03-25 53 views
-2

我找了一段代碼,其執行以下操作返回新行從文件

  • 運行作爲一個獨立的功能
  • 每次調用函數時逐行讀取
  • 每一次文件行該函數被稱爲它返回文件的下一行。不是隨機的,它需要一次減少一行。

僞代碼:

file = readingInFile() 
i = i++ 
for line[i] in file: 
    return line 
+4

您正在查看'yield' – ling7334

+2

在文件對象中使用內置'next'函數有什麼問題?順便說一句,你不應該在Python 2中使用'file'作爲變量名,因爲它會隱藏內置的'file'類型。 –

+0

在這個問題上不是微不足道的是你如何處理文件的打開和關閉,所以我不明白爲什麼這是downvoted。 –

回答

1

這是我最終使用的代碼。

def emailToTry(): # Generate a new email from a file 
    with open('leakedEmails.txt') as f: # Using a file of leaked email address, can also use a brute forcer. 
     for line in f: 
      yield line # Returns the next line each time it is called 
0

我從來沒有使用yield但是這是你想要什麼,我想

def read_file(file_name): 
    f = (open(file_name, "r")).read().splitlines() 
    for line in f: 
     yield line 
    f.close() 

file_opened = read_file("test.txt") 

for line in file_opened: 
    print(line)