Python 30 - (복습) 파일 읽고 쓰기

2021. 5. 22. 15:38python

반응형

w 사용하기
f = open("EOMCODING/새파일.txt", 'w')         
for i in range(1, 11):
    data = "%d번째 줄입니다. \n" %i          
    f.write(data)
f.close()

파일주소를 상세히 쓰면 절대주소, 상세주소없이 새파일.txt 작성시 현재폴더에 작성
\n은 한 줄 띄어주기

EOMCODING폴더에 새파일.txt가 생기고 파일을 열면
1번째 줄입니다. 
2번째 줄입니다. 
3번째 줄입니다. 
4번째 줄입니다. 
5번째 줄입니다. 
6번째 줄입니다. 
7번째 줄입니다. 
8번째 줄입니다. 
9번째 줄입니다. 
10번째 줄입니다.     가 작성되어 있다.

----------------------------------------------------------

r사용하기

f = open("EOMCODING/새파일.txt", 'r')
line = f.readline()   
print(line)
f.close()   

readline은 가장 첫번쨰 줄 만 나온다.
파일을 open하면 꼭 close를 해야한다.

모든 줄을 출력하는 방법 2가지 아래와 같다.

-----1번------
f = open("EOMCODING/새파일.txt", 'r')
while True:                무한반복
    line = f.readline()  
    if not line: break      무한반복 브레이크 (어떤조건일 때 브레이크)
    print(line)
f.close()

------2번------
f = open("EOMCODING/새파일.txt", 'r')
lines = f.readlines()       readlines는 list로서 읽어낸다.
for line in lines:
    print(line, end="")     end""로 인해 줄 사이에 공백줄은 없어진다
f.close()


한 줄로 표현하는 방법은 아래와 같다.
f = open("EOMCODING/새파일.txt", 'r')
lines = f.readlines()
for line in lines:
    print(line.strip("\n"), end=" ")      strip은 \n을 제거한다.
f.close()


그냥 통째로 가져오는 read 함수
f = open("EOMCODING/새파일.txt", 'r')
data = f.read()        read드는 통째로 읽어버린다.
print(data)
f.close()

----------------------------------------------------------

a 사용하기
f = open("EOMCODING/새파일.txt", 'a')
for i in range(11, 20):
    data = "%d번째 줄입니다. \n" % i
    f.write(data)
f.close()

아래와 같이 출력된다.

1번째 줄입니다. 
2번째 줄입니다. 
3번째 줄입니다. 
4번째 줄입니다. 
5번째 줄입니다. 
6번째 줄입니다. 
7번째 줄입니다. 
8번째 줄입니다. 
9번째 줄입니다. 
10번째 줄입니다. 
11번째 줄입니다. 
12번째 줄입니다. 
13번째 줄입니다. 
14번째 줄입니다. 
15번째 줄입니다. 
16번째 줄입니다. 
17번째 줄입니다. 
18번째 줄입니다. 
19번째 줄입니다.

----------------------------------------------------------

with문과 함께 사용하기        close를 굳이 하지 않아도 된다.
with open("foo.txt", "w") as f:
    f.write("Life is too short, you need python")
    
새로운 foo라는 파일이 생기고 파일안에 Life is too short, 
you need python이 작성 되어 있다.
반응형

'python' 카테고리의 다른 글

Python 32 - (복습) 상속  (0) 2021.05.24
Python 31 - (복습) 클래스  (0) 2021.05.23
Python 29 - (복습) 함수  (0) 2021.05.21
Python 28 - (복습) 반복문  (0) 2021.05.20
Python 27 - (복습) 조건문_if문  (0) 2021.05.19