본문 바로가기

Python

[Python/파이썬] 출력조절, 파일입출력, 파일 불러오기 및 읽기, 피클(pickle)

반응형

 

 

 

토글

 

 

 

 

 1. 출력 조절 

print("python", "javascript", sep=" vs ", end="?") 
print("무엇이 더 재밌을까요?")  # python vs javascript?무엇이 더 재밌을까요?

 

 

- sep: 출력되는 객체들 사이에 원하는 문자 또는 문자열을 삽입할 수 있다. 기본값은 공백(' ').
- end: 출력의 끝 부분에 원하는 문자 또는 문자열을 삽입할 수 있다. 기본값은 줄바꿈('\n').


예를 들어, 여러 값을 한 줄에 출력하고자 할 때 sep와 end를 사용하여 구분자 및 출력 형태를 변경할 수 있다.

 

 


 

2. 파일 입출력 

score_file = open("score.txt", "w", encoding="utf8")  
print("수학: 0", file=score_file)  
print("영어: 50", file=score_file)
score_file.close()
score_file = open("score.txt", "a", encoding="utf8")
score_file.write("과학: 80")
score_file.write("\n코딩: 100")
score_file.close()

 

파이썬에서는 open() 함수를 사용하여 파일을 열고, 파일 모드를 설정함으로써 파일을 읽거나 수정할 수 있다.

 

- open(filename, mode): 파일을 열고 주어진 모드로 파일을 다룬다.

   filename은 파일 이름이고 mode는 파일을 읽기, 쓰기, 추가하기 등과 같이 다루는 방식이다.


- 파일 모드
'r': 파일을 읽기 모드로 열기(기본 모드)
'w': 파일을 쓰기 모드로 열기(기존 파일 내용이 삭제)
'a': 파일을 추가 모드로 열기(기존 파일 내용에 추가)
'x': 파일을 새로 만들기 모드로 열기(이미 존재하는 경우 오류 발생)


- 파일을 작성하거나 수정한 후에는 반드시 close() 함수를 사용하여 파일을 닫아야 한다.

반응형

 

 


 

3. 파일 불러오기 및 읽기

# 파일 전체를 읽어오기
score_file = open("score.txt", "r", encoding="utf8")
print(score_file.read())  # 모든 파일내용을 불러옴
score_file.close()

# 한 줄씩 불러오기
score_file = open("score.txt", "r", encoding="utf8")
print(score_file.readline())  # 줄별로 읽기
score_file.close()

# 라인 수가 불명확한 경우
score_file = open("score.txt", "r", encoding="utf8")
while True:
    line = score_file.readline()
    if not line:
        break
    print(line, end="")  
score_file.close()

# 리스트로 불러오기
score_file = open("score.txt", "r", encoding="utf8")
lines = score_file.readlines()  # 모든 줄을 list 형태로 저장
for line in lines:
    print(line, end="")
score_file.close()

 

파이썬에서는 파일의 내용을 불러오고 읽는 4가지 방법이 있다.


1. read(): 파일의 전체 내용을 한 번에 읽어온다.
2. readline(): 파일의 각 줄을 순차적으로 읽어온다.
3. 반복문을 사용하여 파일의 줄을 모를 때 읽어오기: 파일의 내용을 모를 경우 while 루프로 각 줄을 읽어올 수 있다.
4. readlines(): 파일의 모든 줄을 리스트 형태로 저장한다.

 

 

 


 

4. 피클(pickle)

파이썬에서 객체를 파일에 저장하고 불러오기 위해 피클 모듈을 사용한다.

import pickle

# 저장하기
profile_file = open("profile.pickle", "wb")
profile = {"이름": "박명수", "나이": 30, "취미": ["축구", "골프", "코딩"]}
pickle.dump(profile, profile_file) 
profile_file.close()

# 불러오기
profile_file = open("profile.pickle", "rb") 
profile = pickle.load(profile_file)
print(profile)
profile_file.close()


pickle.dump(obj, file): 주어진 객체(obj)를 파일 스트림에 저장한다.
pickle.load(file): 파일에서 객체를 읽어온다.

 

피클 라이브러리를 사용할 때는 파일 모드로 'wb' (바이너리 쓰기) 및 'rb' (바이너리 읽기)를 사용해야 한다. 

 

 

 

 

 

반응형