python 讀寫大檔案 for line in file有瓶頸嗎

2025-07-07 19:05:11 字數 2485 閱讀 3011

1樓:網友

沒有處理過那麼大的檔案。

試試生成器吧!

看看下面的**,處理2g多的檔案,在我的電腦上用時7秒多。

2樓:阿根廷殺手

試試生成器吧!

看看下面的**,處理2g多的檔案用時7秒多。

python 中迴圈 line for line in file(filename)什麼意思?

3樓:足壇風行者

python中使用lines = [line for line in file (file name)]的格式是列表推導式,這個等式是將for迴圈的結果儲存到列表lines中。

列表推導式(又稱列表解析式)提供了一種簡明扼要的方法來建立列表,它是利用其建立新列表list的乙個簡單方法。列表推導式比較像for迴圈語句,必要時也可以加入if條件語句完善推導式。

它的結構是在一箇中括號裡包含乙個表示式,然後是乙個for語句,然後是 0 個或多個 for 或者 if

語句。表示式可以是任意的,意思是你可以在列表中放入任意型別的物件。

語法格式:[表示式 for 迴圈計數器 in 可迭代物件]

4樓:網友

遍歷file的每一行line,生成新的list,line for line in ..是為了對遍歷的每一行做處理的,比如。

for line in file()]這樣生成的list中的每乙個line都是經過了strip操作的,或者我要取每一行的前面幾個字元就是 [line[:3] for line in file()]只不過你這個地方是沒有做任何處理。

5樓:匿名使用者

這是個列表推導式,將for迴圈的結果儲存到lines中。

python問題 使用for line in file 讀取每一行資料, s = line[2:5]擷取資料, print repr(s) 為 '234'。

6樓:風夜y雨辰

在s = int(s)之前先print一下s是什麼東西,很有可能s不是數字型的字串。

7樓:桜月輝夜

硬碟讀取速度就是個瓶頸。

python,for line in filename, 關於line

8樓:網友

因為這是個變數名啊,你當然隨便起什麼名字都可以。

python 讀取大檔案資料怎麼快速讀取

9樓:網友

python中讀取資料的時候有幾種方法,無非是read,readline,readlings和xreadlines幾種方法,在幾種方法中,read和xreadlines可以作為迭代器使用,從而在讀取大資料的時候比較有效果。

在測試中,先建立乙個大檔案,大概1gb左右,使用的程式如下:

python] view plaincopyprint?

import

import time

while 'messages') <1000000000:

f = open('messages','a')

this is a file/n')

print 'file create complted'

在這裡使用迴圈判斷檔案的大小,如果大小在1gb左右,那麼結束建立檔案。--需要花費好幾分鐘的時間。

測試**如下:

python] view plaincopyprint?

#22sstart_time =

f = open('messages','r')

for i in f:

end_time =

print end_time - start_time

break#22s

start_time =

f = open('messages','r')

for i in :

end_time =

print end_time - start_time

breakstart_time =

f = open('messages','r')

k=end_time =

print end_time - start_time

使用迭代器的時候,兩者的時間是差不多的,記憶體消耗也不是很多,使用的時間大概在22秒作用。

在使用完全讀取檔案的時候,使用的時間在40s,並且記憶體消耗相當嚴重,大概使用了1g的記憶體。。

其實,在使用跌倒器的時候,如果進行連續操作,進行print或者其他的操作,記憶體消耗還是不可避免的,但是記憶體在那個時候是可以釋放的,從而使用迭代器可以節省記憶體,主要是可以釋放。

而在使用直接讀取所有資料的時候,資料會保留在記憶體中,是無法釋放這個記憶體的,從而記憶體卡死也是有可能的。

在使用的時候,最好是直接使用for i in f的方式來使用,在讀取的時候,f本身就是乙個迭代器,其實也就是方法。

如何使用Python3讀寫INI配置檔案

import configparser 生成config物件 conf configparser.configparser 用config物件讀取配置檔案 conf.read ini 從ini配置檔案中獲取資訊 a conf.get xx yy print a 結果為 zz ini xx yy zz...

手機裡哪些大檔案可以刪,手機中的大檔案可以刪除嗎?

手機裡邊兒像那種大型的遊戲,然後附近它是非常大的,你有什麼用?更新完之後就一起出去,在自己手機裡那個可以刪。你在手機上裝個360手機衛士吧,它可以智慧清理系統,安全不會誤刪 回答手機裡的大檔案可以刪除,手機中的大檔案只要不是系統檔案,都可以刪除,例如無用的安裝包 一些較大的空資料夾等,刪除這些即可。...

如何建立ORACLE大檔案表空間

oracle的簡歷表空間是用來儲存大量的資料物件的,通俗的說是來存放很多很多的物件,有利於資料物件的管理 讓使用者很方便的找到自身所需的。例如 圖書館裡面有很多類得書籍,為了方便與使用者的尋找,我們需要簡歷許多的表 例 武俠類 文學類 災難類等 我們要對這些書籍進行分類 才可以輕鬆的找到自己所需的哪...