반응형
-
파일 불러온 후 쓰기/읽기
- 파일객체 = open('파일명', '파일모드)
- 파일객체.write('입력할 문자열')
- 파일객체.close()
우리가 윈도우에 사용할때 처럼 파일에 어떤 내용을 적으려면 우선 그 파일을 열고, 입력할 문자열을 쓰고, 저장 후 파일을 닫는데 파이썬도 마찬가지 입니다. 쓰기(w) 모드와 읽기(r) 모드가 있고 그 외에도 추가(a) 모드나 배타적 생성(x) 모드, 텍스트(t) 모드, 바이너리(b) 모드 등이 있습니다.
## 파일 쓰기
# 쓰기(w) 모드로 Hello.txt 파일을 file 객체로 열기
file = open('Hello.txt', 'w')
# file 객체에 'Hello, World!' 문자열을 작성 후 저장
file.write('Hello, World!')
# file 객체 닫기
file.close()
## 파일 읽기
# 읽기(r) 모드로 Hello.txt 파일을 file 객체로 열기
file = open('Hello.txt', 'r')
# file 객체에서 문자열을 읽은 후 변수 x에 저장
x = file.read()
# 변수 x 출력
print(x)
# file 객체 닫기
file.close()
-
자동으로 파일 객체 닫기
매번 close를 사용하기는 귀찮기 때문에(?) 일반적으로 사용할땐 아래와 같이 자동으로 파일 객체를 닫을 수 있도록 사용 합니다.
with open('파일명', '파일모드') as 파일객체:
코드
ex)
with open('Hello.txt', 'r') as file:
x = file.read()
print(x)
-
리스트의 문자열 파일에 쓰기
- 파일객체.writelines(리스트)
파일에 내용을 작성할 때 하나하나 다 코드에 작성할 필요 없이 문자열로 된 리스트를 사용하여 파일에 내용을 작성할 수 있습니다.
text = ['Hello\n', 'World!']
with open('Hello.txt', 'w') as file:
file.writelines(text)
-
파일 내용 불러오기
- 변수 = 파일객체.readline()
- 변수 = 파일객체.readlines()
- for문 사용
파일 내용을 불러올 때엔 readlines와 readline을 사용할 수 있습니다.
readline은 파일의 내용중 한 줄만 가져 옵니다.
with open('Hello.txt', 'r') as file:
b = file.readline()
print(b)
'Hello\n'
readlines는 리스트의 형식으로 파일의 내용을 모두 가져 옵니다.
with open('Hello.txt', 'r') as file:
a = file.readlines()
print(a)
['Hello\n', 'World!']
또는 for문을 사용하여 파일의 모든 내용을 가져올 수 있습니다.
with open('Hello.txt', 'r') as file:
for text in file:
print(text.strip('\n')) # 문자를 출력하되 가독성을 위해 \n 제거
-
pickle 모듈의 dump를 이용하여 파이썬 객체들을 파일에 쓰기 / 파일 읽기
파일 쓰기는 pickle 모듈의 dump를 이용하여 파이썬 객체들을 파일에 저장할 수 있습니다.
import pickle
name = 'nirsa'
age = 99
address = '서울 특별시'
with open('nirsa', 'wb') as file:
pickle.dump(name, file)
pickle.dump(age, file)
pickle.dump(address, file)
파일 읽기는 pickle 모듈의 laod를 이용하여 저장했던 파이썬 객체들을 읽을 수 있습니다. 각 파일 객체를 한줄 씩 읽어 들여서 다시 변수에 저장하고 그 변수를 print로 출력하는 방식 입니다.
import pickle
with open('nirsa', 'rb') as file:
name = pickle.load(file)
age = pickle.load(file)
address = pickle.load(file)
print(name)
print(age)
print(address)
# 결과값
nirsa
99
서울 특별시
반응형
'Programming > Python' 카테고리의 다른 글
[Python 3.7] 파이썬 함수란? (함수 생성, 호출, 고정인수, 가변인수, 키워드 인수, 딕셔너리 언패킹, 재귀호출) (1) | 2020.02.06 |
---|---|
[Python 3.7] 파이썬 회문 판별과 N-gram (4) | 2020.02.03 |
[Python 3.7] 파이썬 딕셔너리 사용법 (0) | 2020.02.03 |
[Python 3.7] 파이썬 문자열 서식 지정자, 포매팅 사용법 (1) | 2020.02.03 |
[Python 3.7] 파이썬 문자열 메서드 사용법 (replace, translate, split, join, upper, lower, strip, lstrip, rstrip, just, ljust, rjust, zfill, find, rfind, count) (1) | 2020.02.03 |