파일 객체를 생성하기위해서는 open()를 사용한다. 또한 파일 객체를 닫기 위해서는 f.close()를 호출해준다.
프로그램이 종료되면 자동으로 파일 객체가 소멸되지만, 파일 객체를 닫지 않은 상태에서 다시 open을 하려고 하면 에러가 발생한다. ( 삽질을 줄이기 위해서는 습관적으로 close를 해주는 것이 좋다. 마지막에 자동으로 close해주는 with .. as 구문을 설명하도록 하겠다. )
# test.py
f = open("test.txt", 'w')
f.close()
파일 객체 = open( 파일 이름, 모드 )
모드에는 아래와 같이 3가지 종류가 존재한다.
r | 읽기 모드 |
w | 쓰기 모드 |
a | 파일 끝에 append 하기 위한 모드 |
b | 바이너리 모드 |
t | 텍스트 모드 |
파일 한줄 읽기 ( readline() )
# test.py
f = open("test.txt", 'r')
line = f.readline()
print(line)
f.close()
readline()을 여러번 호출하면 파일의 다음 줄을 읽어 들일 수 있다.
# test.py
f = open("test.txt", 'r')
line = f.readline()
print(line)
line = f.readline()
print(line)
f.close()
파일을 한번에 모두 읽고 싶을 경우 2가지 방법이 존재한다.
1. for문을 이용하여 readline()을 여러번 호출. ( readline은 파일 끝을 만나면 ""문자를 리턴한다. )
# test.py
f = open("test.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close()
2. readlines() 사용하기
# test.py
f = open("test.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
줄 바꿈 문자 (\n) 제거하기 * strip() 함수를 사용한다. |
# test.py
f = open("test.txt", 'r')
lines = f.readlines()
for line in lines:
print(line.strip()) <<<<<<<<< here!!
f.close()
자동으로 파일을 close 해주는 구문으로 아래와 같은 형태를 지닌다.
with open(파일 경로, 모드) as 파일 객체:
처리코드
위에서 사용한 코드를 with .. as 구문을 사용하도록 변경해보면, 아래와 같다.
# test.py
with open("test.txt", 'r') as f:
lines = f.readlines()
for line in lines:
print(line.strip())
[파이썬(Python)] #8. json 파일 다루기 (0) | 2021.08.17 |
---|---|
[파이썬(Python)] #7. string (0) | 2021.08.17 |
[파이썬(Python)] #4. 함수 (0) | 2021.08.14 |
[파이썬(Python)] #3. os 모듈 (0) | 2021.08.13 |
[파이썬(Python)] #2. argparse 사용하기 (0) | 2021.08.12 |