TIL#16 PYTHON 기초(10)

Dasom·2020년 7월 29일
0

python

목록 보기
12/50
post-thumbnail

파일 읽고 쓰기

파일생성하기

f = open("새파일.txt", 'w')
f.close()

이렇게 하면 프로그램을 실행한 디렉토리에 새 파일이 생성된다. 내장함수 open 을 사용했다. open 함수는 '파일이름'과 '파일열기모드'를 입력값으로 받고 결과값으로 파일 객체를 돌려준다.

<파일열기모드>

파일열기모드설명
r읽기모드 - 파일을 읽기만 할 때 사용
w쓰기모드 - 파일에 내용을 쓸 때 사용
a추가모드 - 파일의 마지막에 새로운 내용을 추가할 때 사용

❗️ 파일을 쓰기모드로 열면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성된다.
❗️ f.close() 는 열려있는 파일 객체를 닫아주는 역할을 한다. 쓰기모드로 열었던 파일을 닫지 않고 다시 사용하려 하면 오류가 발생한다.

파일을 쓰기모드로 열어 출력값 적기

f = open("파일주소", 'w')
for i in range(1, 11):
	data = "%d번째 줄입니다.\n" % i
    f.write(data) #data를 파일객체 f에 써라
f.close()

이렇게 실행하고 해당 파일을 들어가서 확인해 보면 출력될 내용이 파일에 들어있는 것을 확인할 수 있다.

프로그램 외부에 저장된 파일을 읽는 여러 방법

# readline 함수 이용
f = open("파일주소", 'r') # r을 써서 읽기모드
line = f.readline()
print(line)
f.close()

-> readline()을 사용해 파일의 첫번째 줄을 읽어 출력한다.
모든 줄을 출력하고 싶다면 아래와 같이 작성한다.

f = open("파일주소", 'r')
while True:
	line = f.readline()
    if not line = break
    print(line)
f.close()

무한루프를 이용해 모든 줄을 출력한다. 더이상 읽을 줄이 없으면 break를 수행하게 만든다.

# readlines 함수 이용
f = open("파일주소", 'r')
lines = f.readlines()
for line in lines:
	print(line)
f.close()

readlines 함수는 파일의 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다. readline과는 's'하나 차이이므로 주의.

# read 함수 이용
f = open("파일주소", 'r')
data = f.read()
print(data)
f.close()

f.read() 는 파일 내용 전체를 문자열로 돌려준다.

파일에 내용 추가하기

f = open("파일주소", 'a')
for i in range(11, 20):
	data = '&d번째 줄입니다.\n' % i
    f.write(data)
f.close()

'a' 추가모드를 이용해 기존 파일에 내용을 추가한다.

with문과 함께 사용하기

f = open("파일주소", 'w')
f.write("파일에적을내용")
f.close()
'''
 위의 코드는 파일을 열고 닫고를 직접 입력했다. 더 편리하게 이용하려면 with문을 이용한다.
'''
with open("파일주소", "w") as f:
	f.write("파일에적을내용")
# with 블록을 벗어나는 순간 파일 객체 f가 자동으로 close된다
profile
개발자꿈나무🌲

0개의 댓글