1. 파일 입출력
문법 :
파일 객체 = open('파일명.확장자','파일 입출력 모드')
2. 디폴트 경로
파일 입출력시 별도의 경로를 입력 하지 않으면,
현재 파이썬 파일인 Xxx.py 파일이 위치하는 경로가 디폴트 경로가 된다.
3. 파일 입출력 모드
1) wt
write text mode
파일 쓰기 모드
2) rt
read text mode
파일 읽기 모드
3) at
append text mode
파일 이어 쓰기 모드
4. 예시 01
file = open('test.txt', 'wt')
file.close()
# close() 메서드를 사용 해서 메모리 누수를 방지 한다.
5. 예시 02
실질적으로 with 문을 사용 해서 close() 메서드를 포함하는 문법으로 많이 사용 한다.
with open('파일명', '모드') as 파일 객체:
pass
pass는 미완성 이기에 작성한 것이고,
실제로는 pass 자리에 file 객체가 지니고 있는 여러가지 메서드중 사용할 메서드를 작성 하면 된다.
with open('test.txt', 'wt') as file:
file.write('줄바꿈')
write() 메서드의 인자로는 반드시 문자열이 와야 한다.
줄을 변경 하고 싶으면 개행 문자를 사용 하면 된다.
with open('test.txt', 'wt') as file:
file.write('줄\n바꿈')
'wt' 모드를 사용 하면 매번 실행 할 때 마다 텍스트의 내용이 새로운 내용으로 덮어 씌워 진다.
반면에
'at' 모드를 사용 하면 기존 텍스트에 새로운 내용을 이어 쓰게 된다.
with open('test.txt', 'at') as file:
file.write('\n')
file.write('파일 이어 쓰기 "at" ')
6. 예시 03
'wt' 모드를 사용 하거나 'at' 모드를 사용 할 때 파일에 원하는 데이터를 콘솔창에 직접 입력 할 수도 있다.
input() 내장 함수를 사용 한다.
with open('test02.txt', 'wt') as file:
while True:
tmp = input('입력 : ')
if not tmp: # 파이썬은 동적 타이핑 언어로 자동 으로 null 체크를 한다. not 을 붙혀서 입력값이 없니 ? 그러면 break 해.
break
file.write(tmp + '\n') # file.write() 는 자동 줄바꿈을 지원 하지 않아서 '\n' 으로 줄바꿈 처리 하기.
입력값이 null 인지 아닌지로 while 문의 종료 조건을 주고, break 하여 while 문을 탈출 한다.
7. 예시 04
file 객체의 read() 메서드를 사용 해서 파일을 읽어 올 수 있다.
메서드의 인자에 아무 값도 넣지 않으면 파일의 모든 값을 읽어 올 수 있다.
with open('test02.txt', 'rt') as file:
tmp = file.read() # read() 만 작성 하면 해당 파일의 전체를 읽어 오는 메서드.
print(tmp)
'파이썬 (Python) > 이론' 카테고리의 다른 글
[ 파이썬 이론 ] 예외 처리 (1) | 2023.10.21 |
---|---|
[ 파이썬 이론 ] 함수 (정의 함수 / 내장 함수) / 모듈 (라이브러리) (2) | 2023.10.17 |
[ 파이썬 이론 ] 문자열 / List / tuple /set / dict / 포맷팅 / if-else / for / for each / sorted (1) | 2023.10.16 |