python從一個大文件中隨機獲取一行數據


python從一個大文件中隨機獲取一行數據

背景:從一個很大的文件中,隨機獲取2000條數據組成一個新的文件,以下方法可解決該問題:

# 獲取2000行數據
originFile = '/home/Users/a.txt'  # 原文件,從這里邊隨機獲取一行
f_new = open('/home/Users/b.txt', 'w') # 新文件,隨機獲取的都寫到這個里
for i in range(1, 2000):
    # 隨機獲取一行數據
    lineNumber = random.randint(1, 15140) # 隨機數作為行數
    line = linecache.getline(self.originFile, lineNumber) # 隨機讀取一行
    if len(line) == 0: # 過濾為空的內容
        continue
    # 寫入新的一個文件
    f_new.write(line)
	
# 不再讀取時,需要清除緩存
linecache.clearcache()
# 關閉文件
f_new.close()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM