[Project_하다]/[Project_공부]
[우리FISA] Standard Input/Output, stdio
브렌쏭
2024. 7. 15. 18:08
표준 입출력 (Standard Input/Output)
print()
- 출력
- 기본적으로 출력 후 줄바꿈을 한다.
input()
- 입력
- 사용자로부터 입력을 받는다.
파일 입출력
# 파일 쓰기
with open('file.txt', 'w') as f:
f.write('Hello, Python!')
# 파일 읽기
with open('file.txt', 'r') as f:
print(f.read())
# 파일에 추가로 작성
with open('file.txt', 'a') as f:
f.write('\nHello, Python!')
with
- 파일을 열고 닫는 것을 자동으로 처리해준다.
- 파일을 열면 반드시 닫아야 하는데,
with
를 사용하면 자동으로 닫아준다. with
블록을 벗어나면 파일이 자동으로 닫힌다.
파일 모드
r
: 읽기 모드r+
: 읽기/쓰기 모드rb
: 바이너리 읽기 모드rb+
: 바이너리 읽기/쓰기 모드rt
: 텍스트 읽기 모드rt+
: 텍스트 읽기/쓰기 모드
w
: 쓰기 모드w+
: 읽기/쓰기 모드wb
: 바이너리 쓰기 모드wb+
: 바이너리 읽기/쓰기 모드wt
: 텍스트 쓰기 모드wt+
: 텍스트 읽기/쓰기 모드
a
: 추가 모드a+
: 읽기/추가 모드ab
: 바이너리 추가 모드ab+
: 바이너리 읽기/추가 모드at
: 텍스트 추가 모드at+
: 텍스트 읽기/추가 모드
x
: 쓰기 모드로 파일을 열되, 파일이 이미 존재하면 실패t
: 텍스트 모드b
: 바이너리 모드
print()
함수에서 파일로 출력하기
with open('file.txt', 'w') as f:
print('Hello, Python!', file=f)
f = open('file.txt', 'w')
print('Hello, Python!', file=f)
f.close()
flush
- 버퍼를 비우는 것
- 버퍼가 가득 차거나 프로그램이 종료될 때 자동으로 비워진다.
flush=True
로 설정하면 버퍼를 비우지 않고 출력한다.
print('Hello, Python!', flush=True)
# Hello, Python!
flush 옵션에 따라 출력되는 시점이 달라질 수 있다.
print('Hello, Python!', end='', flush=True)
for i in range(10):
print(i, end='', flush=True)
위 출력은 다음과 같다.
Hello, Python!0123456789
read(), readline(), readlines(), readable()
read()
- 파일 전체를 읽어서 문자열로 반환한다.
- 파일을 읽을 때 사용한다.
readline()
- 파일의 한 줄을 읽어서 문자열로 반환한다.
- 파일을 한 줄씩 읽을 때 사용한다.
readlines()
- 파일 전체를 읽어서 리스트로 반환한다.
- 파일을 한 줄씩 읽을 때 사용한다.
readable()
- 파일이 읽을 수 있는지 확인한다.
- 읽을 수 있으면 True, 없으면 False를 반환한다.
write(), writelines(), writable(), write_through()
write()
- 문자열을 파일에 쓴다.
- 파일을 쓸 때 사용한다.
writelines()
- 리스트의 문자열을 파일에 쓴다.
- 파일을 쓸 때 사용한다.
writable()
- 파일이 쓸 수 있는지 확인한다.
- 쓸 수 있으면 True, 없으면 False를 반환한다.
write_through()
- 버퍼를 비우고 쓴다.
- 버퍼를 비우지 않고 쓸 때 사용한다.