참고 자료
https://docs.python.org/3/library/functions.html
파이썬 버전 3.7 기준
입출력과 관련된 내장함수
open(), input(), print() 등.
파일을 열어주는 내장함수
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, Closefd=True, opener=None)
○ 파일을 열고 해당 파일 객체를 반환한다. 파일을 열 수 없을 경우 에러가 발생한다.
▷ 파일이 존재 하지 않더라도 쓰기 모드면 파이썬 자체에서 파일을 작성하기도 한다.
○ file은 열 파일의 경로를 나타내며, 절대적인 경로('C:\...)와 상대적인 경로(\...\...) 둘 다 지원한다.
○ mode는 파일을 열 모드를 설정한다.
▷ 'r' : 파일을 읽기용으로 연다. (기본값)
▷ 'w' : 파일을 쓰기용으로 연다. 파일이 존재할 경우 아예 새로 파일을 작성한다.
▷ 'x' : 독점적인 파일 만들기용으로 연다. 이미 파일이 존재하는 경우에는 실패한다. -> 좀 더 공부
▷ 'a' : 파일을 쓰기용으로 연다. 'w'와는 다르게 파일이 존재하는 경우는 파일의 끝에 이어붙인다.
▷ 'b' : 바이너리 모드로 연다.
▷ 't' : 텍스트 모드로 연다. (기본값)
▷ '+' : 읽기 및 쓰기용으로 디스크 파일을 연다.
▷ 'U' : 유니버설 줄 넘김 모드로 연다.
▷ 기본모드는 텍스트 읽기모드이며, 조합하여 'rt'로 표현 가능하다.
▷ 바이너리 쓰기 모드를 표현하고자 할때는 'w+b'를 쓰며 파일을 열면서 0바이트로 자르고, 읽기 모드를 쓰고자 할때는 'r+b'이며 자르지 않고 파일을 연다.
▷ 여기서 알 수 있듯이, 파이썬은 바이너리와 텍스트 입출력을 구별한다. 바이너리 모드는 디코딩 없이 bytes 객체로 돌려주며, 텍스트모드에서는 파일 내용이 encoding인자로 입력된 타입을 기반으로 str로 반환된다.
○ buffering은 버퍼링 정책을 설정하는데 사용되는 정수이다.
▷ 버퍼링을 끌 경우 0을 입력하며(바이너리 모드에서만 사용 가능), 버퍼링을 킬 경우 1을 전달하면된다(텍스트 모드에서만 사용 가능).
▷ 고정 크기 청크 버퍼를 선택하려면 그 크기를 바이트 단위로 표시한 정수(1보다 큰 값)을 입력하면 된다.
▷ buffering 인자가 입력되지 않을 경우
○ encoding은 인코딩 혹은 디코딩하는데 사용하는 인코딩의 이름이다.
입력과 관련된 내장함수
input([prompt])
○ 터미널 혹은 인터프리터 상에 입력을 받을 수 있게 해주는 함수이다.
○ prompt가 입력될 경우 입력 앞에 prompt가 나타난다.
○ readline 모듈과 같이 사용될 경우 정교한 줄편집 및 히스토리 기능을 제공할 수 있다.
사용 예)
In[10]: a=input('Please input your word')
Please input your word>? Ok, I will.
In[11]: a
Out[11]: 'Ok, I will.'
In[12]: a = input()
>? Ok
In[13]: a
Out[13]: 'Ok'
출력과 관련된 내장함수
print(object, sep='', end='\n', file=sys.stdout, flush=False)
○ object를 텍스트 스트림 파일로 인쇄한다.
▷ 입력되는 오브젝트는 여러 객체를 입력하는 것이 가능하다.
○ sep은 입력된 여러 개의 오브젝트를 구분을 위해 쓰이는 구분자이다.
○ 입력된 마지막 오브젝트의 끝에는 키워드 인자인 end가 붙는다.
○ file인자에는 write(string) 메서드를 가진 객체이어야 한다.
▷ 입력이 안됬을 경우 sys.stdout가 기본 값으로 들어가며 터미널창에 입력된 내용을 출력한다.
사용 예)
In[2]: print('This ', 'is ', 1, sep='', end=' '); print('And, ', 'This ', 'is ', 2, sep='')
This is 1 And, This is 2
In[3]: print('This ', 'is ', 1, sep='',); print('And, ', 'This ', 'is ', 2, sep='')
This is 1
And, This is 2
In[4]: print('This ', 'is ', 1, sep='\n',); print('And, ', 'This ', 'is ', 2, sep='')
This
is
1
And, This is 2
'Python > 파이썬 기초' 카테고리의 다른 글
기타 내장함수 - 파이썬 기초(16) (0) | 2018.12.21 |
---|---|
클래스(class)와 어트리뷰트(attribute)와 관련된 내장함수 - 파이썬 기초(15) (0) | 2018.12.20 |
eval(), exec(), compile() 내장함수 - 파이썬 기초(13) (0) | 2018.12.18 |
시퀀스형 자료형과 관련된 내장함수 - 파이썬 기초(12) (0) | 2018.12.17 |
문자열형 자료형과 관련된 내장함수와 포맷팅 - 파이썬 기초(11) (0) | 2018.12.16 |
댓글