티스토리 뷰


[Python] 파일 쓰기 / 읽기 / 추가


Python 파일 쓰기


아래의 코드를 통하여 Python에서 작성된 코드의 결과 값을 파일에 작성할 수 있습니다.

코드
text = open('공격횟수.txt','w') # text 변수에 open 함수를 사용하여 파일을 생성(열기)합니다.
text.close() # text 변수에 열린 파일을 닫습니다.



open함수는 파이썬의 내장함수이며 '파일 이름'과 '파일 열기 모드'를 인자 값으로 받은 후 실행됩니다.

open('파일 이름','파일 열기 모드')



※ 파일을 쓰기모드로 열 시 해당 파일이 이미 존재할 경우 기존에 작성된 내용이 모두 사라지고 새로 작성됩니다.

   해당 파일이 존재하지 않을 경우 신규로 생성됩니다.


파일의 생성 경로를 지정하지 않고 파일 생성 시 "*.py" 파일이 실행되는 경로에 기본적으로 생성됩니다.

생성 경로 지정은 아래와 같이 합니다.

text = open('D:/Study/Python/공격횟수2.txt','w')
text.close()



생성된 파일에 data를 작성하려면 아래와 같이 코드를 작성합니다.

코드
attack = 0
text = open('D:/Study/Python/공격횟수.txt','w')
while attack < 10:
    attack = attack + 1
    data = ('%d번 공격하였습니다.\n' % attack)    # data 변수에 코드실행 결과 저장
    text.write(data)                            # write 함수로 data 변수 값 쓰기
text.close()






Python 파일 읽기


작성된 파일을 읽어오려면 아래와 같은 방법이 있습니다.


readline() 함수 사용하기

readline() 함수는 한줄씩 파일의 데이터를 읽어옵니다.

코드
text = open('D:/Study/Python/공격횟수.txt','r')
line = text.readline()
print(line)
text.close()
 
결과
1번 공격하였습니다.



만약 파일의 전체 데이터를 읽어오고 싶다면 아래와 같이 작성할 수 있습니다.

코드
text = open('D:/Study/Python/공격횟수.txt','r')
while True:                       # while 반복문 실행
    line = text.readline()        # line 변수에 공격횟수.txt 라인의 값을 대입
    if not line: break            # 공격횟수.txt에 더이상 읽어올 라인의 값이 없다면 while 반복문 종료
    print(line)
text.close()
 
결과
 
1번 공격하였습니다.
 
2번 공격하였습니다.
 
3번 공격하였습니다.
 
4번 공격하였습니다.
 
5번 공격하였습니다.
 
6번 공격하였습니다.
 
7번 공격하였습니다.
 
8번 공격하였습니다.
 
9번 공격하였습니다.
 
10번 공격하였습니다.
 




read() 함수 사용하기

read() 함수는 파일의 전체 내용을 리던값으로 가져옵니다.

코드
text = open('D:/Study/Python/공격횟수.txt','r')
data = text.read()
print(data)
text.close()
 
결과
1번 공격하였습니다.
2번 공격하였습니다.
3번 공격하였습니다.
4번 공격하였습니다.
5번 공격하였습니다.
6번 공격하였습니다.
7번 공격하였습니다.
8번 공격하였습니다.
9번 공격하였습니다.
10번 공격하였습니다.




Python 파일 추가


작성된 파일에 Data를 추가하려면 아래와 같은 방법이 있습니다.

코드
text = open('D:/Study/Python/공격횟수.txt','a'# 파일 읽기모드를 추가모드로 변경
for i in range(11,21):
    data = ('%d번 공격하였습니다.\n' % i)
    text.write(data)
text.close()






'[Dev] > Python' 카테고리의 다른 글

[Python] Python 3.x Virtualenv(가상환경) 만들기  (0) 2019.04.09
[Python] 클래스  (0) 2017.12.22
[Python] 함수  (0) 2017.12.20
[Python] WHILE 반복문  (0) 2017.12.20
[Python] FOR 반복문  (0) 2017.12.05
Comments
최근에 올라온 글