-
반응형
이번 포스팅은 파일 처리의 마지막으로 파일 생성 및 쓰기를 해 봅니다.
파일 쓰기 모드는 이전 포스팅을 참고해 주세요.
이전 포스팅을 먼저 참고해 주세요.
[IT 이야기 공간/프로그램 언어 및 Database] - 파이썬(Python) 파일 입출력 #1 열기 및 생성하기
◆ 파일 쓰기
파일을 쓰기 할 때도 파일을 오픈합니다.
파일오픈 -> 파일 쓰기 -> 파일 닫기 이것이 규칙입니다.
mode 는 다시 한번 간단하게 설명합니다.
- w : 파일이 없으면 생성하여 쓰기 모드. 만약 기존 파일이 존재하면 overwrite
- a : 파일 끝에 추가하기. 파일이 없을 경우 새로 생성
쓰기는 wite() , writelines() 메소드를 사용합니다.
>>> f = open( 'c:/py_test/file_test1.txt' , mode='wt’ ) ## 파일은 없어서 새로 만듭니다.
>>> f.write( "python is easy" ) ## 개행 문자를 입력하지 않았습니다.
14
>>> f.write( "I am Happy\n" ) ## 개행 문자를 입력합니다.
11
>>> f.write("한글을 입력합니다\n")
10 ## 반환 값은 바이트수가 아니고 글자수 입니다.
>>> f.close() ## 꼭 해주어야 실제 파일에 write 해 줍니다. 안 하면 write 안 될 수 있습니다.
>>>실제 파일을 열어보니 아래와 같이 작성되어 있습니다.
개행 문자를 넣지 않으면 라인 구분이 안되고 같은 라인에 연결됩니다.
python is easyI am Happy
한글을 입력합니다이번에는 a 모드로 파일을 오픈해 봅니다.
아래 코드를 file_write.py 로 작성합니다.
f = open( 'c:/py_test/file_test2.txt' , mode='at' )
f.write( "python is easy" )
f.write( "I am Happy\n" )
f.write("한글을 입력합니다\n")
f.close()명령창에서 두 번 실행해 봅니다.
C:\py_test>python file_write.py
C:\py_test>python file_write.py
C:\py_test>
파일을 확인해 보니 file_test2.txt 로 생성되었고 파일 끝에 추가되어 두 번 write 되었습니다.
python is easyI am Happy
한글을 입력합니다
python is easyI am Happy
한글을 입력합니다with 구문을 연습해 봅니다.
아래와 같이 코드를 작성합니다.
with open( ‘c:/py_test/file_test3.’ , mode=‘wt’ ) as f :
for I in range( 3) :
f.write( “ write test: %d\n” % I )명령창에서 두 번 실행해 봅니다.
C:\py_test>python file_write.py
C:\py_test>python file_write.py
C:\py_test>
file_test3.txt 결과 파일입니다.
두 번 실행을 했어도 overwrite 해서 한번 만 쓰여집니다.
write test: 0
write test: 1
write test: 2writelines() 의 예를 작성합니다.
읽기에서 readlines()를 했기 때문에 예상했을 것입니다.
리스트를 write 합니다.
list = [ '사과', '배', '참외', '딸기' ]
with open( 'c:/py_test/file_test4.txt' , mode='at' ) as f :
f.writelines( list )
결과 파일을 보면 개행 문자가 없어서 아래와 같이 다 붙어있습니다.
사과배참외딸기
위의 예제에서 각 리스트 요소를 라인으로 작성하고 싶다면 요소마다 개행 문자를 넣어 주거나
리스트를 다시 for 구문으로 한 라인 씩 개행 문자를 입력하여 wite() 해야 합니다.
w 모드는 항상 overwrite 한다는 것에 유념해서 사용합니다.
예로 로그를 작성하는 프로그램을 작성할 경우 처음 로그 파일은 없어서 새로 생성해서 write 해야 하고 그 다음 부터는
파일의 끝에 추가해야 합니다.
이럴 경우는 a 모드를 사용합니다.
이제 까지 파일 쓰기에 대해 알아보았습니다.
이렇게 파이썬에서 파일 처리에 관한 포스팅 모두 마칩니다.
반응형'IT 이야기 공간 > 프로그램 언어' 카테고리의 다른 글
파이썬(python) 오류 예외 처리(try, except, finally) (0) 2020.07.29 파이썬(Python) 모듈(module) 만들기 (0) 2020.07.28 파이썬(Python) 파일 입출력 #3 한줄씩 읽기 (0) 2020.07.06 파이썬(Python) 파일 입출력 #2 읽기 (2) 2020.07.05 파이썬(Python) 파일 입출력 #1 열기 및 생성하기 (2) 2020.07.04