리스트 또는 튜플 데이터 txt파일에 입력하고 읽어오기 (writelines, readline, readlines)

SOO·2023년 5월 10일
0
post-thumbnail

1. writelines( )

리스트 변수의 내용들을 write( )로 txt파일에 입력할 때 오류가 발생한다.


lan = ['c', 'java', 'c#', 'python', 'js']
for item in lan:
    with open('languages.txt', 'a') as f:
        f.write(item+'\n')

write( )로 적으려면 for문으로 리스트 속 데이터들을 하나씩 적어야 한다.
f.write('\n')이 없으면 개행하지 않고 한줄로 입력해 버리니 주의하자!


with open('languages.txt', 'w') as f:
    f.writelines(lan) 

wrtielines( )를 사용하면 for문 없이 리스트 변수를 txt파일에 적을 수 있다.
다만 개행과 띄어쓰기가 없이 적는다.

with open('languages.txt', 'w') as f:
     f.writelines(item + '\n' for item in lan) 

보기 편하게 개행하기 위해서는 write( ) 처럼 for문을 사용해 리스트 내 데이터들을 하나씩 적고 개행하도록 코드를 써줘야 한다.




2.readline( ), readlines( )

위에서 적었던 languages.txt를 읽어보자!

with open('languages.txt', 'r') as f:
    kk_list = f.readlines()
print(f'kk_list : {kk_list}')  
print(f'kk_list type : {type(kk_list)}')

readlines( )는 txt파일의 내용들을 리스트(list)형태로 읽는다. 또한 개행(\n)도 함께 읽어서 데이터값 뒤에 '\n'이 붙어있다.

with open('languages.txt', 'r') as f:
    line = f.readline()
    while line != '':  
        print(f'line : {line}', end='')
        line = f.readline()

반면 readline( )는 readlines( )처럼 txt파일을 리스트 형태로 읽어오지 않고 한줄만 읽기 때문에 반복문을 사용해야 끝까지 읽어올 수 있다.

profile
데이터 분석으로 세상을 읽어보쟈 빠샤

0개의 댓글