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() # 파일 닫기
보면 알겠지만, 정말 간단해.
GO TO FULL VERSION