正常讀取文件時(shí),從文件開(kāi)頭逐行讀取內(nèi)容。 但是有些情況下我們想先讀取最后一行。 例如,文件中的數(shù)據(jù)底部有最新記錄,需要先讀取最新記錄。 為了達(dá)到此要求,可使用以下命令安裝所需的包以執(zhí)行此操作。
pip install file-read-backwards
但是在向后讀取文件之前,我們先逐行讀取文件的內(nèi)容,以便可以在向后讀取后可以作比較。
with open ("Path\GodFather.txt", "r") as BigFile:
data=BigFile.readlines()
# Print each line
for i in range(len(data)):
print "Line No- ",i
print data[i]
當(dāng)我們運(yùn)行上面的程序時(shí),得到以下輸出 -
Line No- 0
Vito Corleone is the aging don (head) of the Corleone Mafia Family.
Line No- 1
His youngest son Michael has returned from WWII just in time to see the wedding of Connie Corleone (Michael's sister) to Carlo Rizzi.
Line No- 2
All of Michael's family is involved with the Mafia, but Michael just wants to live a normal life. Drug dealer Virgil Sollozzo is looking for Mafia families to offer him protection in exchange for a profit of the drug money.
Line No- 3
He approaches Don Corleone about it, but, much against the advice of the Don's lawyer Tom Hagen, the Don is morally against the use of drugs, and turns down the offer.
Line No- 4
This does not please Sollozzo, who has the Don shot down by some of his hit men.
Line No- 5
The Don barely survives, which leads his son Michael to begin a violent mob war against Sollozzo and tears the Corleone family apart.
現(xiàn)在要向后讀取文件,這里使用上面已安裝的模塊 - file-read-backwards
。
from file_read_backwards import FileReadBackwards
with FileReadBackwards("Path\GodFather.txt", encoding="utf-8") as BigFile:
# getting lines by lines starting from the last line up
for line in BigFile:
print line
當(dāng)運(yùn)行上面的程序時(shí),得到以下輸出 -
The Don barely survives, which leads his son Michael to begin a violent mob war against Sollozzo and tears the Corleone family apart.
This does not please Sollozzo, who has the Don shot down by some of his hit men.
He approaches Don Corleone about it, but, much against the advice of the Don's lawyer Tom Hagen, the Don is morally against the use of drugs, and turns down the offer.
All of Michael's family is involved with the Mafia, but Michael just wants to live a normal life. Drug dealer Virgil Sollozzo is looking for Mafia families to offer him protection in exchange for a profit of the drug money.
His youngest son Michael has returned from WWII just in time to see the wedding of Connie Corleone (Michael's sister) to Carlo Rizzi.
Vito Corleone is the aging don (head) of the Corleone Mafia Family.
可以按相反順序驗(yàn)證已讀取的行。
我們也可以向后閱讀文件中的單詞。首先向后讀取行,然后使用reverse()
函數(shù)對(duì)其中的單詞進(jìn)行標(biāo)記。 在下面的示例中,使用nltk
模塊將向后打印的單詞標(biāo)記形成為同一文件。
import nltk
from file_read_backwards import FileReadBackwards
with FileReadBackwards("Path\GodFather.txt", encoding="utf-8") as BigFile:
# getting lines by lines starting from the last line up
# And tokenizing with applying reverse()
for line in BigFile:
word_data= line
nltk_tokens = nltk.word_tokenize(word_data)
nltk_tokens.reverse()
print (nltk_tokens)
執(zhí)行上面示例代碼,得到以下結(jié)果 -
['.', 'apart', 'family', 'Corleone', 'the', 'tears', 'and', 'Sollozzo', 'against', 'war', 'mob', 'violent', 'a', 'begin', 'to', 'Michael', 'son', 'his', 'leads', 'which', ',', 'srvives', 'barely', 'Don', 'The']
['.', 'men', 'hit', 'his', 'of', 'some', 'by', 'down', 'shot', 'Don', 'the', 'has', 'who', ',', 'Sollozzo', 'please', 'not', 'does', 'This']
['.', 'offer', 'the', 'down', 'trns', 'and', ',', 'drgs', 'of', 'se', 'the', 'against', 'morally', 'is', 'Don', 'the', ',', 'Hagen', 'Tom', 'lawyer', "'s", 'Don', 'the', 'of', 'advice', 'the', 'against', 'mch', ',', 'bt', ',', 'it', 'abot', 'Corleone', 'Don', 'approaches', 'He']
['.', 'money', 'drg', 'the', 'of', 'profit', 'a', 'for', 'exchange', 'in', 'protection', 'him', 'offer', 'to', 'families', 'Mafia', 'for', 'looking', 'is', 'Sollozzo', 'Virgil', 'dealer', 'Drg', '.', 'life', 'normal', 'a', 'live', 'to', 'wants', 'jst', 'Michael', 'bt', ',', 'Mafia', 'the', 'with', 'involved', 'is', 'family', "'s", 'Michael', 'of', 'All']
['.', 'Rizzi', 'Carlo', 'to', ')', 'sister', "'s", 'Michael', '(', 'Corleone', 'Connie', 'of', 'wedding', 'the', 'see', 'to', 'time', 'in', 'jst', 'WWII', 'from', 'retrned', 'has', 'Michael', 'son', 'yongest', 'His']
['.', 'Family', 'Mafia', 'Corleone', 'the', 'of', ')', 'head', '(', 'don', 'aging', 'the', 'is', 'Corleone', 'Vito']