표준입력과 input 함수 지난 글에서 파이썬에서 텍스트 파일을 액세스할 때 파일 핸들러를 만들어서 사용한다고 했고, 파일 핸들러는 내부적으로 TextIOWrapper라는 버퍼 객체라고 했다. input() 내장함수 역시 TextIOWrapper를 사용한다. 대신 열리는 것이 디스크 상의 파일이 아니라 쉘이 제공하는 표준입력이다. TextIOWrapper(name="") 과 같은 식으로 만들어지는 버퍼가 있고, 이 버퍼는 표준입력을 파일로 간주하고 한 줄씩 읽은 결과를 리턴한다. 즉 이 말은 우리는 input() 함수 자체가 파일의 readline()과 비슷하게 동작한다는 것인데, 쉘의 입출력 특성을 사용하여, input() 함수만으로 파일을 읽어들이는 것이 가능하다는 점 시사한다.다만 차이가 있다면 파..
파일 입출력 다루기 어떤 양의 정수들을 입력받고 (예를 들어 0이 입력될 때까지 계속 숫자를 입력 받음) 그 합을 구하는 코드를 작성했다고 생각해보자. 물론 이 프로그램은 매우 간단하게 작성이 될 것이다. 그런데 이 프로그램을 사용할 때를 상상해보자. 합산해야 하는 숫자가 7자리(수백만)숫자 100개 정도된다면, 이를 일일이 키보드로 하나하나 타이핑 하는 것은 매우 번거로운 일일 것이다. 게다가 엔터를 눌러 입력한 후에 숫자가 잘못됐다는 사실을 깨닫는 상황이라면 처음부터 새로 입력해야 하는 아픔이 있을 것이다. 많은 양의 데이터를 일괄적으로 처리하기에 가장 좋은 방법은 입력값을 파일에 저장해 놓은 다음, 이것을 읽어서 처리하는 것이다. 일반적으로 한 개의 레코드를 한 줄에 기록하고 한 줄씩 읽어서 처리하..
CSV 파일은 단순한 텍스트 파일을 데이터 테이블 형식으로 사용하는 포맷이다. 기본적으로 한 행을 1개의 레코드로 사용하며, 개별 필드를 컴마 (혹은 정하기에 따라서는 탭 문자나 임의의 구분자를 사용할 수 있다.)로 구분한다. csv는 기본적으로 플레인 텍스트 파일이기 때문에 텍스트 파일을 읽고 구분자 단위로 쪼개어 각 레코드/필드를 액세스하는 방식으로 처리하는 것도 가능하지만, 이는 제법 귀찮은 여러 작업들을 동반하기 때문에 파이썬 기본 라이브러리에는 csv 파일로부터 필드를 구분하여 읽고 쓸 수 있게 해주는 csv 모듈이 제공된다. 참고로 `csv` 모듈은 텍스트 파일의 내용을 구분자에 따라서 잘라서 제공해주는 것 이상의 역할을 하지 않는다. 각 필드의 값은 모두 문자열이며, 정수 및 실수 값으로 변..
- Total
- Today
- Yesterday
- 우분투
- jupyter-notebook
- mutability
- short_circuit
- sorted
- 정렬키
- 정렬기준
- 변경가능
- 리스트
- 복수기준정렬
- 단어 빈도수
- 파이썬
- Lambda
- leapYear
- 반복자
- 파일입출력
- 파이썬노트북
- 사전
- 튜플언패킹
- dict
- 함수형
- globals()
- iterable
- locals()
- 이중리스트를 사용하지 않기
- Python
- 리눅스
- ipython-notebook
- 표준입력
- python list
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |