CodeGym /자바 코스 /Python SELF KO /파일에 데이터 저장하기

파일에 데이터 저장하기

Python SELF KO
레벨 21 , 레슨 2
사용 가능

3.1 파일 만들기

파일은 ('w') 쓰기 모드나 ('a') 추가 모드로 열면 자동으로 생성돼. 파일이 이미 존재하면 'w' 모드는 기존 내용을 덮어쓰고, 'a' 모드는 파일 끝에 데이터를 추가해.

파일 생성 예제


file = open('example.txt', 'w')  # 파일을 쓰기 위해 열고, 존재하지 않으면 새로 생성
file.write("This is a new file.\n")
file.close()
        

이 예제에서는 example.txt 파일이 (존재하지 않는다면) 생성되고 "This is a new file.\n" 문자열이 파일에 기록돼.

완전히 빈 파일을 생성하려면 파일을 쓰기 모드로 열고 바로 닫으면 돼.

빈 파일 생성 예제


file = open('example.txt', 'w')  
file.close()
        

이미 존재하는 파일을 쓰기 모드로 열면 그 파일의 모든 내용이 삭제된다는 점에 주의해.

3.2 파일에 쓰기

파일에 데이터를 쓰는 데에는 두 가지 인기 있는 메서드가 있어 — write()writelines().

write() 메서드

write() 메서드는 문자열을 파일에 기록해. 파일을 쓰기 모드 ('w')로 열면 기존 내용이 삭제되고 새로운 데이터가 기록돼. 추가 모드 ('a')로 열면 새로운 데이터가 파일 끝에 추가돼.

write() 사용 예제:


# 쓰기 모드로 파일 열기
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
        

writelines() 메서드

writelines() 메서드는 문자열 리스트를 받아 파일에 기록해. 이 메서드는 자동으로 줄바꿈 문자를 추가하지 않으니까, 문자열에 직접 포함해야 돼.

writelines() 사용 예제:


lines = ["First line.\n", "Second line.\n", "Third line.\n"]

# 쓰기 모드로 파일 열기
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
        

파일 인코딩

파일을 읽고 쓰는 동안 텍스트 파일의 인코딩을 지정할 수 있어. 이는 encoding이라는 명명된 파라미터를 사용해서 해.

예제:


# UTF-8 인코딩으로 쓰기 위해 파일 열기
file = open('example_utf8.txt', 'w', encoding='utf-8')  
file.write("텍스트가 한글로 기록돼.\n")
file.write("More text in UTF-8.\n")
file.close()
        

나중에 파일과 텍스트의 다양한 인코딩에 대해 더 논의하겠지만, 지금 이 파라미터가 존재한다는 걸 알고 있는 것만으로도 많은 문제를 방지할 수 있어.

3.3 파일에 데이터 추가

파일 끝에 데이터를 추가하는 건 파일에 데이터를 쓰는 것만큼 간단해. 파일을 열 때 추가 모드 ('a')를 지정하면 나머지는 자동으로 처리돼.

몇 가지 예를 들면:

파일 끝에 문자열 추가

이 예제에서는 파일을 추가 모드 ('a')로 열고 파일 끝에 여러 줄을 추가하는 방법을 보여줘.


file = open('example.txt', 'a')  # 파일을 추가 모드로 열기
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close()  # 파일 닫기
        

리스트의 문자열을 파일 끝에 추가

이 예제에서는 writelines() 메서드를 사용하여 리스트의 문자열을 파일 끝에 추가하는 방법을 보여줘.


lines = [
    "Appending first line from list.\n",
    "Appending second line from list.\n",
    "Appending third line from list.\n"
]
        
file = open('example.txt', 'a')  # 파일을 추가 모드로 열기
file.writelines(lines)  # 리스트에 있는 문자열 추가
file.close()  # 파일 닫기
        

인코딩을 지정하여 문자열 추가

이 예제에서는 인코딩(예: UTF-8)을 지정하여 추가 모드로 파일을 열고 문자열을 추가하는 방법을 보여줘.


# UTF-8 인코딩으로 추가 모드에서 파일 열기
file = open('example_utf8.txt', 'a', encoding='utf-8')  
file.write("UTF-8을 사용하여 문자열 추가.\n")
file.write("또 다른 줄이 추가됨.\n")
file.close()  # 파일 닫기
        

보면 알겠지만, 정말 간단해.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION