상세 컨텐츠

본문 제목

26. 파이썬 I/O (입출력)

프로그래밍 언어/Python(파이썬)

by 알파고제로 2023. 10. 18. 09:09

본문

1. 표준 입출력

■ 표준 입력

  • 형식
input()
input(문자열)
  • 입력 받은 모든 데이터는 문자열이다.

 

■ 표준 출력

print(출력데이터)
a = 10 
b = 'Korean'
c = [1, 2, 3]  
print(a)
print(b)
print(c)
 
d = "대한"
e = "민국"
f = "만세"
print('대한' '민국' '만세') 
print('대한','민국','만세')
print(d, e, f)
#print(d e f) 
 
for i in range(10):
	print(i, end=' ')

for i in range(10):
	print(i)

 

2. File I/O

■ File Open

파일 객체 = open(파일 이름, 파일 열기 모드)

■ File Open Mode

파일열기모드 설명
r (읽기모드) 파일을 읽기전용으로 open 할 때 사용.
모드를 생략할 경우 r 모드로 설정
w (쓰기모드) 파일에 내용을 쓸 때 사용
파일을 쓰기 모드로 열게 되면 해당 파일이 이미 존재할 경우 원래 있던 내용이 모두 사라지고, 해당 파일이 존재하지 않으면 새로운 파일이 생성
a (추가모드) 파일의 마지막에 새로운 내용을 추가시킬사용
t (문자열) 파일에 저장되는 데이터가 문자열임을 나타냄. (default)
b (binary) binary data를 쓸 때 사용

파일 쓰기

# 파일 생성
f = open('myfile.txt', 'w')
f.close()
print('End’)

# 파일 생성 후 영문자열 쓰기
f = open('myfile.txt', 'w')
f.write('Hello world')
f.close()
print('End’)

# 파일 생성 후 한글이 포함된 문자열 쓰기
f = open('myfile.txt', 'w', encoding='utf-8')
f.write('안녕하세요? Everyone~')
f.close()

print('End')
poem = '''Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
'''
f = open('poem.txt', 'w')
f.write(poem)   # 문자열 변수 poem의 데이터를 파일로 출력
f.close()
# 연습 : for loop을 이용해서 아래 score 변수의 데이터를 저장하는 프로그램 작성
# score.txt
# 홍길동 89
# 임꺽정 78
score = {'홍길동':89, '임꺽정':78, '손오공':88, '전우치':90, '저팔계': 95, '사오정':79, '삼장법사': 99 }

f = open('score.txt', 'w', encoding='utf-8')

for name, s in score.items() :
    f.write(name + ' ' + str(s) + '\n')

f.write('학생수 :'+ str(len(score))  + '\n')
f.write('합계 : '+ str(sum(score.values())) + '\n')
f.write('평균 : '+ str( sum(score.values()) / len(score)) + '\n')
f.write('최고점 : '+ str(max(score.values())) + '\n')
f.write('최하점 : '+ str(min(score.values())) + '\n')

f.close()
print('End')

데이터 읽기

  • readline() : 한 줄 읽어서 리턴, 파일의 마지막에 도달하면 빈 문자열을 리턴
  • readlines()  : 파일의 모든 라인을 읽어서 각각의 줄을 요소로 갖는 리스트로 리턴
  • read()  : 파일의 내용 전체를 문자열로 리턴. 파일 크기가 큰 경우에는 인수로 읽을 양(문자 수)을 지정하여 조금씩 읽어 들인다..
f = open("test.txt", mode="r", encoding="utf-8")
line = f.readline()
print(line)
f.close()		# 사용이 완료되면 close()
########
f = open("test.txt", 'r', encoding='UTF-8')
while True:
    line = f.readline()  
    if not line: break   
    print(line , end='')
f.close()

 데이터 저장 / 추가

  • 파일을 오픈할 때 mode를 ‘w’로 하면 저장, ‘a’로 하면 기존 내용에 추가
write(저장할 데이터)
poem = '''
Programming is fun
When the work is done
if you wanna make your work also fun:
use Python!
'''
f = open('poem.txt', 'w')	 # ‘a’로 오픈하면 추가모드로 파일 오픈
f.write(poem)		# 문자열 변수 poem의 데이터를 파일로 출력
f.close()

입출력 위치

  • 현재 입출력 위치를 조사할 때는 tell 함수를 사용
  • 위치를 변경할 때는 seek 함수 사용
  • seek(위치, 기준) : 기준이 0이면 파일 처음부터, 2이면 끝에서부터, 1이면 현재 위치를 기준으로 한다

'프로그래밍 언어 > Python(파이썬)' 카테고리의 다른 글

27. File과 Directory  (0) 2023.10.18
25. 파이썬 표준모듈  (0) 2023.10.17
24. docstring  (0) 2023.10.17

관련글 더보기

댓글 영역