🔥 파일 생성하기
🔥 파일 쓰기
🔥 파일 읽기
🔥 파일 내용 추가하기
🔥
1) open() 함수
f.close()
로 마지막에 파일을 닫아줘야 함✍🏻 python
# 아래 코드를 실행하면 py파일이 존재하는 디렉토리 위치에 "새파일.txt" 생성됨. f = open("새파일.txt", 'w') f.close() # 열러 있는 파일 객체를 닫아주는 역할을 함
2) with open() as 변수명:
✍🏻 python
# 파일 여는 방법1 : open() f = open(file='data.txt', mode='r', encoding='utf8') f.close() # 파일을 닫아줌
# 파일 여는 방법2 : with문은 아래 실행 부분이 완료되면 알아서 닫히기 때문에 닫을 필요 없음 with open(file='data.txt', mode='r', encoding='utf8') as f: psss
✍🏻 python
# 단계2 : 파일 쓰기 # 1) 쓰기 모드('w')로 작성하고자하는 경로의 파일 열기(파일이 없다면 먼저 생성) # 2) 작성법은 for문과 거의 흡사함. print()함수 대신에 f.write() 함수 사용 # 3) 항상 마지막은 파일 닫기 f = open("/Users/jangjaewon/Documents/C/새파일.txt", 'w') for i in range(1, 11): data = "%d번째 줄입니다.\n" % i f.write(data) f.close()
# 위와 구조 차이 비교 : 콘솔창에 출력할 때와 큰 차이 없음 for i in range(1, 11): data = "%d번째 줄입니다.\n" % i print(data)
# 1줄씩 파일에 쓰기 방법1 with open(data.txt, 'w') as f: f.write('line 1\n') f.write('line 2\n')
# 1줄씩 파일에 쓰기 방법2 with open(data.txt, 'w') as f: f.write('line 1', file=f) # file옵션은 디폴트로 none을 가지고 있음 f.write('line 2', file=f)
1) 커서 단위로 읽기
✍🏻 python
# 파일 읽는 방법 기본 예시 with open(file='data.txt', mode='r', encoding='utf8') as f: print(file.read()) # 전체 데이터를 읽어 출력함 # print(f.closed) # 파일이 잘 닫혔는지 확인 가능(닫혀 있으면 True)
# 원하는 갯수만큼 데이터 읽기 with open(file='data.txt', mode='r', encoding='utf8') as f: print(f.read(10)) # 시작점부터 10칸의 데이터를 불러옴 print(f.read(3)) # 그 뒤부터 3개의 데이터를 불러옴
# 파일 2번 읽기 예시1 : 커서의 위치 때문에 데이터를 1번만 읽어옴 with open(file='data.txt', mode='r', encoding='utf8') as f: print(f.read()) # 전체 데이터를 불러오고 파일 맨 뒤에 커서가 위치함 print(f.read()) # 맨 뒤에 위치하기 때문에 불러올 데이터가 없어 아무것도 반환 하지 않음
# 파일 2번 읽기 예시2 : 파일 2번 읽어옴 with open(f='data.txt', mode='r', encoding='utf8') as f: print(f.read()) # 전체 데이터를 불러오고 파일 맨 뒤에 커서가 위치함 f.seek(0) # 맨 처음 위치로 커서를 이동시킴 print(f.read()) # 커서 맨 처음에 위치하기 때문에 전체 데이터 불러옴
2) 라인 단위로 읽기
✍🏻 python
# 파일 한줄 읽기 : f.readline() f = open("/Users/jangjaewon/Documents/C/새파일.txt", 'r') line = f.readline() print(line) 맨 첫줄 출력 f.close()
# while문 사용하여 모든 line들 불러오기 f = open("/Users/jangjaewon/Documents/C/새파일.txt", 'r') while True: line = f.readline() if not line:break # line이 없다면 빠져나와라 print(line) f.close()
# 데이터를 1줄씩 리스트에 요소로 넣어 출력하기 with open(file='data.txt', mode='r', encoding='utf8') as f: print(f.readlines()) # 전체 데이터를 1줄씩 리스트의 요소로 넣어 저장 후 리스트 반환
# for문 사용하여 모든 line들 불러오기 f = open("C:/doit/새파일.txt", 'r') lines = f.readlines() # []안에 1줄씩 요소로 넣어 lines 변수에 담음 for line in lines: print(line) # 모든 라인을 1줄씩 불러옴 f.close()
✍🏻 python
f = open("/Users/jangjaewon/Documents/C/새파일.txt",'a') for i in range(11, 20): data = "%d번째 줄입니다.\n" % i f.write(data) f.close()