AboutPython

[파이썬] readlines(), readline()

scone 2022. 5. 10. 03:55

[readlines()]

  • 파일의 모든 데이터를 읽어서 리스트 형태로 반환한다.

가져올 파일

from url import *

with open(url()+'hello.txt','r') as f :
    print(f.readlines())
    print(type(f.readlines()))
'''
['hello python\n', 'hello c/c++\n', 'hello java\n', 'hello javascript']
<class 'list'>
'''

다음과 같이 개행을 포함해서 각 줄을 요소로 하는 리스트를 반환한다.

 

[readline()] 

  • .한 행을 읽어서 문자열로 반환한다.
from url import *

with open(url()+'hello.txt','r') as f :
    # print(f.readlines())
    # print(type(f.readlines()))
    line = f.readline()
    while line != '' :
        print(line, end='')
        line = f.readline()
'''
hello python
hello c/c++
hello java
hello javascript
'''

readline() 한번 실행할 때 마다, 한 행씩 읽고 다음 행으로 넘어간다.

읽을 때, \n까지 같이 읽기 때문에, print 자체 개행은 end=''로 제거해주었다.


[실습1] 파일에 저장된 과목별 점수를 파이썬에서 읽어, 딕셔너리에 저장하는 코드를 만들어보자.

전에 만들어둔 파일을 가지고 한번 해보자.

from url import *
scoreDic = {}
temp = []
with open(url()+'과목별점수.txt','r') as f:
    line = f.readline()
    while line != '':
        temp = line.split()
        scoreDic[temp[0]] = temp[2]
        line = f.readline()
print(scoreDic)
'''
{'kor': '85', 'eng': '90', 'mat': '92', 'sci': '79', 'his': '82'}
'''