반응형

파이썬, 텍스트 파일 읽기 쓰기 예제

 

글. 오상문 sualchi@daum.net

 


파이썬에서 텍스트를 파일을 읽고 쓰는 예제들입니다.


예제1.

파일을 텍스트 쓰기 모드로 엽니다.
만약 파일이 존재하지 않으면 파일을 생성합니다.

f = open('test.txt', 'w')   # open('test.txt', 'wt')
for i in range(1,11):
    f.write('test '+str(i)+'\n')
f.close()


예제 2.

존재하는 text.txt 파일을 텍스트 읽기 모드로 엽니다.
만약 파일이 존재하지 않으면 에러가 발생합니다.
-->   FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

f = open('test.txt')   # open('test.txt', 'rt')
for line in f:
    print(line, end='')
f.close()
print('-'*40, 1)


예제 3.

파일을 읽기/쓰기 텍스트 모드로 엽니다.
파일이 존재하면 내용을 지우고 씁니다. 파일이 존재하지 않으면 에러가 발생합니다.
--> FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'


f = open('test.txt', 'r+')  
for i in range(11,21):
    f.write('test '+str(i)+'\n')
f.close()

f = open('test.txt')
for line in f:
    print(line, end='')
f.close()
print('-'*40, 2)


예제 4.

파일을 추가 텍스트 모드로 엽니다.
파일이 존재하면 내용을 뒤에 추가합니다. 파일이 존재하지 않으면 파일을 생성합니다.

f = open('test.txt', 'a')   # open('test.txt', 'at')
for i in range(21,31):
    f.write('test '+str(i)+'\n')
f.close()

f = open('test.txt', 'r')  
for line in f:
    print(line, end='')
f.close()
print('-'*40, 3)


예제들을 연속 실행하면 다음과 같은 출력을 볼 수 있습니다.

test 1
test 2
test 3
test 4
test 5
test 6
test 7
test 8
test 9
test 10
---------------------------------------- 1
test 11
test 12
test 13
test 14
test 15
test 16
test 17
test 18
test 19
test 20
---------------------------------------- 2
test 11
test 12
test 13
test 14
test 15
test 16
test 17
test 18
test 19
test 20
test 21
test 22
test 23
test 24
test 25
test 26
test 27
test 28
test 29
test 30
---------------------------------------- 3


[참고] 자동으로 파일 닫기를 수행하려면 다음 방식으로 처리합니다.

with 블록을 벗어나면 자동으로 파일이 닫힙니다.


with open('test.txt', 'w') as f:
    for i in range(1,11):
        f.write('test '+str(i)+'\n')

 

<이상>

 

 

 

 

반응형

+ Recent posts