Notice
Recent Posts
Recent Comments
Link
just inside
[python] 파일 읽고 쓰기 본문
728x90
파이썬 파일 처리 함수
파일 열기 : open(), file.close()
- 파일 모드
- "r" : 읽기 모드. 파일이 존재하지 않으면 에러 발생
- "w" : 쓰기 모드. 파일이 존재하지 않으면 새로 생성, 기존 파일 존재시 덮어씀
- "a" : 추가 모드. 파일이 존재하지 않으면 새로 생성, 기존 파일 존재시 내용 뒤에 추가
# 새파일 만들기 (현재 작업디렉토리에 생성)
# newfile.py
f = open("새파일.txt", 'w')
f.close()
# mkdir c:\doit
# dir c:\doit
# 특정 디렉토리에 newfile2.py
f = open("C:/doit/새파일.txt", 'w')
f.close()
파일 만들기(쓰기) : write(), writelines()
- file.write() : 파일에 문자열을 쓰기
- file.writelines() : 문자열 리스트를 파일에 쓰기
# 파일을 쓰기 모드로 열어 내용 쓰기
# C:/doit/새파일.txt 파일에 for loop 명령의 실행결과가 저장됨
f = open("C:/doit/새파일.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data) # 파일에 기록
f.close()
# 실행후 DOS 명령으로 확인
type C:\doit\새파일.txt
1번째 줄입니다.
∙∙∙
10번째 줄입니다.
# 인코딩 포함하여 만들기
f = open("새파일.txt", 'w', encoding="UTF-8")
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data) # 파일에 기록
f.close()
파일 읽기 : read(), readline(), readlines()
- file.read() : 파일의 전체 내용 읽기
- file.readline() : 파일의 한 줄 읽기
- file.readlines() : 파일의 모든 줄 읽어 리스트로 반환
# readline_test.py
f = open("C:/doit/새파일.txt", 'r')
line = f.readline() # 파일 한 줄 읽기
print(line)
f.close()
# 반복문 이용해서 전체 라인 읽어 출력
f = open("C:/doit/새파일.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line, end="")
f.close()
# readlines : 각각의 줄을 요소로 갖는 리스트 반환
f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
# 줄바꿈 문자 제거해서 파일 읽기
f = open("C:/doit/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
line = line.strip() # 줄 끝의 개행문자 제거
# line.replace("\n", "") 로 아예 제거도 가능
print(line)
f.close()
# f.read()는 파일의 내용 전체 문자열로 리턴
f = open("C:/doit/새파일.txt", 'r')
data = f.read()
print(data)
f.close()
# for문으로 파일에서 데이터 읽기 가능
f = open("C:/doit/새파일.txt", 'r')
for line in f:
print(line)
f.close()
파일에 새로운 내용 추가 : a모드
* 파일을 w 모드로 열면 기존 내용 삭제하고 새로운 내용만 추가
# a모드 : append 모드
f = open("C:/doit/새파일.txt", 'a')
for i in range(11, 20):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
# 실행후 확인
# type C:\doit\새파일.txt
with 문을 사용한 파일 처리
- open() 된 파일은 반드시 close()
- with는 파일을 자동으로 닫아줌
f = open("foo.txt.", 'w')
f.write("Life is too short, you need python")
f.close()
# type foo.txt
# with로 파일 읽기
with open("example.txt", "r") as file:
content = file.read()
print(content)
# with 블록 벗어나면 파일 자동으로 닫힘
# with로 파일쓰기
with open("foo.txt", "w") as f:
f.write("Python is very easy.")
# type foo.txt
728x90
'LG U+ Why Not SW camp > python' 카테고리의 다른 글
[python] set (집합) 자료형 (0) | 2024.08.01 |
---|---|
[python] 문자열 함수 정리 (0) | 2024.07.17 |
[python] 딕셔너리 자료형 (0) | 2024.07.10 |
[python] 문자열 포매팅 (0) | 2024.07.09 |