◈ 파일 읽기
- Python 에서는 파일의 내용을 읽기 전 작업할 파일과 파일로 어떤 작업을 할지 인식시켜야 한다
- open() 함수로 해당 기능을 수행하게 한다 : read, write의 동작이 아닌 파일을 '열기'만 한다
- open() 과 같은 함수는 어떤 프로그래밍 언어에서든 존재한다
과거 DOS 시절에는 파일명과 확장명에 있어 제한수가 있었다
FILENAME.EXE 와 같이 8글자.3글자로 표현했어야 하지만 현재는 제한이 많이 자유로워졌다
▷ 사용
fhand = open('mbox.txt', 'r')
● open( '파일명', '모드명' )
- 파일명 : default 폴더 경로
windows 및 python 의 경우 경로에 대한 default 값(: current directory / 현재 폴더)이 지정되어 있다
- 모드명 : default 'r'
full path : 전체 경로와 file 명
[ Drive 이름 \ C: \ User \ Program files \ …\ a.txt ]
* file 명을 제외한 경로만을 이야기 하는 경우도 있다. 대부분 file 명까지 포함한 전체 경로를 지칭
▷ 처리
text mode 로 읽어올 시, 중간 데이터가 가공되는 경우가 있다
ex) \r 의 경우 중간 생략되어 나온다
▷ 핸들
default : Text mode
읽기
def Main() :
xFile = open("test.py")
for x in xFile :
print(x)
Main()
open( 파일명, 경로 )
" test.py " 라는 파일을 python 프로그램이 있는 경로( default 경로 )에 있다면 해당 파일을 읽어온다
● 한 줄씩 읽기
def Main() :
xFile = open("test.py")
for x in xFile :
print({x}) # {}로 인수를 표현할 경우 줄 별로 읽어들인다
# 기본적으로 각 줄마다 줄바꿈 표현 문자(\r, \n)이 들어있음을 알 수 있다
Main()
for 문을 활용하여 한 줄씩 읽어들일 수 있다
print({x}) - 인수 밖으로 { } 를 표현함으로써 각 줄마다 읽어옴을 알 수 있다
● 파일 '전체' 읽기
fhand = open('mbox-short.txt')
inp = fhand.read()
print(len(inp))
>> 94626
print(inp[:20])
>> From stephen marquar
.read method를 활용하여 파일을 한 줄씩 읽는 것이 아닌 한꺼번에 읽어들일 수 있다
● 특정 조건에 만족하는 줄만 출력
fhand = open('mbox-short.txt')
for line in fhand :
if line.statswith('From') :
print(line)
for 문에 if 문을 사용하여 특정 조건에만 만족하는 줄만 출력한다
▒ 문제 ) text 파일을 하나 만들어 한 줄씩 읽어들인 후 dictionary 화 해보자 ▒
'Python' 카테고리의 다른 글
Python 클래스와 객체 (0) | 2023.03.05 |
---|---|
python으로 DB 파일 출력 및 수정 (0) | 2022.10.27 |
파이썬 딕셔너리(Python Dictionary) (0) | 2022.09.06 |
튜플(Tuple) (0) | 2022.09.06 |