python 함수 - open

Nicholas·2022년 4월 23일
0

Python

목록 보기
16/31
post-thumbnail

1. 파일생성(open)

기본구조 : 파일객채 = open(파일이름, 파일 열기 모드)

f = open(newFile.txt, 'w')
f.close()

파일 열기모드
1. r = 읽기모드
2. w = 쓰기모드
3. a = 추가모드(파일 마지막내용에 내용추가)

f.close()의 열려있는 파일을 닫아주는 역할을 하는데 ,생략이 가능하지만 쓰기모드로 열었던 파일을 닫지 않고 다시 사용하려하면 오류가 뜨기때문에 대체적으로 쓰는 편이 좋다.

2. 출력값 적기(쓰기모드'w')

f = open(newFlie.txt, 'w')      
# newFlie라는 텍스트파일을 만들고 읽기모드로 열어라
for i in range(1,11):           
    data = "%i번째줄입니다.\n" %i  
    # 1~10까지 차례대로 반복문(for)에 의해 순서대로 i에 대입하여 data변수에 넣어라
    f.write(data)               
    # data변수에 들어가있는 내용을 f(newFlie.txt)에 써라
f.close()                       
# for문이 종료되면 닫아라

print문과 다른점 : open은 파일을 생성하여 그안에 내용으로 출력되지만, print문은 모니터 화면에 출력한다.

3. 파일 읽기(읽기모드 'r')

3-1. readline함수

위의 코드로 작성한 newFlie파일을 기준으로 예제 작성

f = open(newFlie.txt, 'r')   
# newFlie을 읽기모드로 열어라
line = f.readline()          
# newFlie에 있는 내용들중 가장 첫번째 줄을 line변수에 넣어라
print(line)                  
# line변수에 있는 내용을 화면에 출력하라
f.close                      
# 열려있는 파일을 닫아라

>>> 1번째 줄입니다.

readline함수를 이용하면 가장 첫번째줄을 화면에 출력해준다.
모든내용, 일정내용을 읽고 싶다면 반복문을 통해 출력하면된다.

3-2. readlines 함수

위의 코드로 작성한 newFlie파일을 기준으로 예제 작성

f = open(newFlie.txt, 'r')
lines = f.readlines()
for line in lines:
    print(line)
f.close

>>> ["1번째 줄입니다.","2번째 줄입니다.","3번째 줄입니다.","4번째 줄입니다.","5번째 줄입니다.","6번째 줄입니다.","7번째 줄입니다.","8번째 줄입니다.","9번째 줄입니다.","10번째 줄입니다."]

readline함수와 readlines함수와 차이점 : readlines함수는 리스트로 화면에 출력해준다.

3-3. read함수

read함수는 내용 전체를 문자열로 돌려주며 한줄씩이아닌 파일내용 전체내용을 화면에 출력해준다.

4. 파일에 새로운 내용 추가하기(추가모드 'a')

보통 open함수를 통해 이미 있던 파일명으로 쓰기모드로 열면 이미 있던파일을 사라지고 내용이 모두 삭제된다.
추가모드('a')는 내용은 유지된채로 내용을 추가할때 사용한다.

위의 코드로 작성한 newFlie파일을 기준으로 예제 작성

f = open(newFlie.txt, 'a')     
# 이전에 쓰기모드로 내용을 작성했던 newFlie을 추가모드로 열어라
for i in range(1,11):           
    data = "%i번째줄입니다.\n" %i  
    # 1~10까지 차례대로 반복문(for)에 의해 순서대로 i에 대입하여 data변수에 넣어라
    f.write(data)               
    # data변수에 들어가있는 내용을 f(newFlie.txt)에 써라
f.close()                       
# for문이 종료되면 닫아라f.close
profile
WEB Developer

0개의 댓글