Coding/Python
[Python] read, readline, readlines 차이점 & 로또번호(lotto) 생성후 텍스트(.txt)파일로 저장
포스트it
2021. 1. 21. 14:20
728x90
반응형

Python 파일 오픈
파일 모드는 읽기 모드 ('r'), 새로 쓰기 모드 ('w'), 이어 쓰기 모드 ('a')가 있고,
'r'은 읽기 전용으로 파일을 오픈합니다. 읽기만 가능하고, 쓰기는 되지 않습니다.
'w' 는 쓰기 모드인데, 파일을 새로 만듭니다. 즉, 동일한 이름의 파일이 있으면 지우고 새로 작성합니다.
'a' 는 쓰기 모드인데, 'w' 와는 다르게 기존 파일에 내용을 이어서 작성합니다.
f = open('경로', '모드')
ex) f = open('/home/python/test.txt', 'w')
Python 파일 읽기
(1) readline() - 파일의 한 줄을 가져와 문자열로 반환합니다. 파일 포인터는 그 다음줄로 이동합니다.
(2) readlines() - 파일 내용 전체를 가져와 리스트로 반환합니다. 각 줄은 문자열 형태로 리스트의 요소로 저장됩니다.
예를들어 5줄짜리 파일을 readlines() 로 읽게 되면 문자열 5개를 요소로 갖는 리스트가 반환됩니다.
(3) read() - 파일 내용 전체를 가져와 문자열로 반환합니다.
readlines()와 마찬가지로 파일 내용 전체를 읽고, 파일 내용 전체를 하나의 문자열로 반환합니다.
각각의 줄은 '\n' 문자로 구분됩니다.
f = open('test.txt', 'r')
r = f.readline()
r = f.readlines()
r = f.read()
--------------------
f.write('요소')
f.close()
전체적인 흐름은 이렇다.
파일 오픈 후 -> 원하는 방법으로 읽고 -> 읽은 파일로 작업을 한 후 -> 작성해준다 -> 그리고 파일 닫기
EX) 로또번호 생성 후 txt파일로 저장하기
import random
f = open('lotto.txt', 'a')
num = input("횟수를 입력해주세요 :")
for i in range(0, int(num)):
lotto = random.sample(range (1, 46), 6)
print(lotto)
f.write(str(lotto)+'\n')
f.close()
728x90
반응형