파이썬 파일 생성하기, 파일 열기
파일을 열면 항상 잘 닫아주는 것이 좋습니다. 세트메뉴라고 생각하시면 됩니다.
쓰기 모드("w"), 추가모드("a")로 오픈할 경우 없으면 새로 생성됩니다.
f = open("file.txt", "w") # 파일 만들어서 열기
f.close() # 파일 닫기
파일 열기 모드 | 설명 |
r | 읽기모드 |
w | 쓰기모드 (기존 내용 지우고 새로 씀) |
a | 추가모드 (마지막 부분부터 이어 씀) |
경로를 설정해야하면 아래와 같이 지정해주면 됩니다.
역슬레쉬는 2개를 해야 오류 확률이 줄어듭니다.
경로 디폴트는 현재 편집하고 있는 ".py" 파일이 있는 위치입니다.
f = open("E:\\Python\\file.txt", "w") # 파일 만들어서 열기
f.close() # 파일 닫기
파이썬 파일에 내용 입력하기
혹시 아래와 같이 깨져서 나온다면 인코딩을 추가해주면 됩니다.
보통 "UTF-8"을 많이 사용합니다.
f = open("E:\\Python\\file.txt", "w", encoding="UTF-8") # 파일 만들어서 열기
content = """
안녕하세요.
코데방입니다.
안녕히 계세요
"""
f.write(content) # 파일에 입력하기
f.close() # 파일 닫기
다시 쓰기모드("w")로 하면 기존 내용은 다 지워지고 새로 내용이 입력됩니다.
f = open("E:\\Python\\file.txt", "w", encoding="UTF-8") # 파일 만들어서 열기
content = """
안녕하세유
"""
f.write(content) # 파일에 입력하기
f.close() # 파일 닫기
추가모드("a")로 바꾸면 내용이 추가됩니다.
잘 못 했다가는 기존 내용이 다 날아갈 수 있으니 쓰기모드("w")는 신중하게 사용합시다.
f = open("E:\\Python\\file.txt", "a", encoding="UTF-8") # 파일 만들어서 열기
content = """
안녕하세유
"""
f.write(content) # 파일에 입력하기
f.close() # 파일 닫기
파이썬 외부 문서 읽기
먼저 "readline()" 함수를 이용한 방식입니다.
한 줄 씩 읽어서 반환해줍니다.
읽어온 라인에 기본적으로 줄바꿈("\n")이 포함되어 있기 때문에 적절히 처리해줍니다.
f = open("E:\\Python\\file.txt", "r", encoding="UTF-8") # 파일 열기
while True: # 무한루프 생성
line = f.readline() # 한 줄 씩 읽어옴
if not line: # 더 읽어올 라인이 없을 경우
break # 탈출
print(line, end = "") # print() 함수의 기본 줄바꿈을 없애줌
f.close() # 파일 닫기
좀 더 간단하게 "readlines()" 함수로 리스트 형태로 한 번에 가져온 뒤 처리하는 방법도 있습니다.
f = open("E:\\Python\\file.txt", "r", encoding="UTF-8") # 파일 열기
lines = f.readlines() # 한번에 다 읽어와서 한 줄 씩 리스트에 넣어줌
for line in lines:
print(line, end = "")
f.close() # 파일 닫기
그냥 모든 내용을 하나의 문자열(Str) 타입으로 받고 싶으면 간단하게 "read()" 함수를 사용하면 됩니다.
f = open("E:\\Python\\file.txt", "r", encoding="UTF-8")
str = f.read() # 한번에 한 문자열에 다 넣어줌
f.close()
print(str)
파이썬 파일 닫기 close() 함수 없이 with 사용하기
오픈할 때 "with"를 사용하면 블록을 벗어나는 순간 자동으로 닫아주기 때문에 close() 함수를 사용하지 않아도 됩니다.
# with를 사용해 파일 열기, 자동 닫기
with open("E:\\Python\\file.txt", "r", encoding="UTF-8") as f:
lines = f.readlines() # 한번에 다 읽어와서 한 줄 씩 리스트에 넣어줌
for line in lines:
print(line, end = "")
'파이썬 > 기본문법' 카테고리의 다른 글
파이썬 내장 함수 (0) | 2024.03.04 |
---|---|
파이썬 클래스 만들기 및 클래스 상속 받기 (0) | 2024.02.16 |
파이썬 함수 (메소드) 사용하기 (1) | 2024.02.16 |
파이썬 제어문, 반복문 (if, for, while) (1) | 2024.02.15 |
파이썬 Set 자료형 (집합 자료형) (0) | 2024.02.15 |
댓글