- Python - 文字處理
- Python - 文字處理簡介
- Python - 文字處理環境
- Python - 字串不變性
- Python - 排序行
- Python - 段落重新格式化
- Python - 統計段落中的詞元
- Python - 二進位制ASCII轉換
- Python - 字串作為檔案
- Python - 反向讀取檔案
- Python - 過濾重複單詞
- Python - 從文字中提取電子郵件
- Python - 從文字中提取URL
- Python - 美化列印
- Python - 文字處理狀態機
- Python - 首字母大寫和翻譯
- Python - 詞元化
- Python - 刪除停用詞
- Python - 同義詞和反義詞
- Python - 文字翻譯
- Python - 單詞替換
- Python - 拼寫檢查
- Python - WordNet 介面
- Python - 語料庫訪問
- Python - 詞性標註
- Python - 塊和塊間隙
- Python - 塊分類
- Python - 文字分類
- Python - 二元語法
- Python - 處理PDF
- Python - 處理Word文件
- Python - 讀取RSS Feed
- Python - 情感分析
- Python - 搜尋和匹配
- Python - 文字處理
- Python - 文字換行
- Python - 頻率分佈
- Python - 文字摘要
- Python - 詞幹提取演算法
- Python - 受約束的搜尋
Python - 反向讀取檔案
我們通常讀取檔案時,內容是從檔案開頭一行一行讀取的。但有些情況下,我們可能需要先讀取最後一行。例如,檔案中的資料最新的記錄在底部,而我們想先讀取最新的記錄。為實現此需求,我們使用以下命令安裝所需的包來執行此操作。
pip install file-read-backwards
但在反向讀取檔案之前,讓我們一行一行讀取檔案內容,以便我們可以比較反向讀取後的結果。
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]
執行上述程式後,我們將得到以下輸出:
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.
反向讀取行
現在要反向讀取檔案,我們使用已安裝的模組。
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
執行上述程式後,我們將得到以下輸出:
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.
您可以驗證行是否以反向順序讀取。
反向讀取單詞
我們還可以反向讀取檔案中的單詞。為此,我們首先反向讀取行,然後使用反向函式對其進行詞元化。在下面的示例中,我們使用該包和nltk模組從同一個檔案中反向列印單詞詞元。
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)
執行上述程式後,我們將得到以下輸出:
['.', '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']
廣告