내가 열어 본 파일을 반복 할 때 "읽는"일을하지 않고 반복하는 것이 훨씬 빠르다는 것을 알게되었습니다. 즉Python : 언제 file.read() 또는 file.readlines()를 사용해야합니까?
l = open('file','r')
for line in l:
pass (or code)
은 약 1.5 배 많은 시간이 걸릴 것
l = open('file','r')
for line in l.read()/l.readlines():
pass (or code)
제 2 회 루프보다 훨씬 빠른 (I가 동일한 파일을 통해 timeit를 사용하고, 결과는 대 0.442이었다 0.660), 동일한 결과를 얻을 것이다.
그렇다면 .read() 또는 .readlines()를 언제 사용해야합니까?
필자가 읽고있는 파일을 반복 할 필요가 있고 어려운 방법을 배운 후에 .read()가 큰 데이터에있을 수 있습니다. 나는 다시 사용하는 것을 상상할 수 없습니다.
명확히하십시오. 'read' 또는'readlines'에 대한'timeit' 측정 값입니까?나는'read' 루프가 단일 문자열을 반환하기 때문에 더 오래 걸릴 것으로 기대하고 있습니다. 그래서 iterating은 문자 단위로 갈 것입니다. 파일 당 평균 100 자의 문자가 있다면'for line in l.read()'루프의 코드는'for line in l :'루프의 코드의 백 배만큼 실행됩니다. – Kevin
그것은 또한 readlines()입니다. 놀랍게도 read() 또는 readlines() 사이에는 거의 시차가 없습니다 ... –