[파이썬] 파일 열기, 파일 읽기, 파일 쓰기
미음제
·2021. 4. 1. 20:28
OS 모듈
Operating System의 약자로
운영체제에서 제공하는
기능을 파이썬에서 수행할 수 있도록
해주는 모듈이다.
파일 목록을 알아내거나
디렉토리를 생성하고자 할 때
os 모듈을 사용한다.
사용하기 위해서는
os모듈을 import 해주면 된다.
import os
파일을 다루기 위해
현재의 경로를 알아낸다.
경로를 알아내기 위해
os 모듈의
getcwd함수를 사용한다.
>>> os.getcwd()
현재 경로를 알아냈고,
현재 경로의 모든
파일을 확인하기 위해
listdir() 함수를 사용한다.
>>> os.listdir()
파일 열기
파일을 읽거나 쓰기 위해서는
파일을 읽어야 한다.
파일을 여는 것의 의미는
파일을 읽고, 쓰기 위한 준비를 하는 것이다.
open() 함수를 이용해
파일을 열 수 있다.
파일핸들 = open('파일명')
>>> f = open('mbox.txt')
>>> print(f)
mbox.txt 파일을 읽고
출력해보면
다음과 같은 결과를 얻을 수 있다.
파일 읽기
>>> f = open('mbox.txt')
>>> cnt = 0
>>> for line in f:
... cnt += 1
...
>>> print('Line Count : ', cnt)
파일 핸들 f는 mbox.txt에 대한
핸들이다.
for문은 파일 핸들이 가리키는
파일의 각 행마다
'\n'를 읽어 들여
cnt를 증가시킨다
for문을 끝내면
mbox.txt의 총 line의 수를 확인할 수 있다.
for문에서 cnt를 증가시키는 것을
print(line)으로 변경하면
mbox.txt 파일의
내용을 출력하게 된다.
파일 핸들에 속해있는
read() 함수를 이용해
파일 전체 내용을 문자열 변수에
담아서 사용할 수 있다.
>>> f = open('mbox.txt')
>>> inp = f.read()
>>> print(len(inp))
>>> print(inp[:10])
파일 핸들을 통해
mbox.txt를 다루고,
inp라는 변수에
read()함수를 통해
mbox.txt를 읽어온다.
inp의 길이를 출력하면
mbox.txt의 총길이를 출력하고
print(inp)를 하면
읽어 들인 mbox.txt를 모두 출력하게 된다.
print(inp[:10])를 통해
처음 10글자만 출력하는 식으로
출력할 수 도 있다.
read() 함수는
함수를 호출할 때마다
리소스가 소비되므로
호출 결과를 변수로 저장해주어야 한다.
>>> f = open('words.txt')
>>> inp = f.read()
>>> print(len(inp))
>>> inp = f.read()
>>> print(len(inp))
파일 쓰기
파일 쓰기를 하러면
open() 메소드에 'w' 매개변수를 주어
쓰기용으로 파일을 열고, 파일 핸들을 통해
파일을 쓸 준비를 한다
파일핸들 = open(파일이름, 'w')
>>> f = open('testw.txt','w')
>>> line = 'Welcome'
>>> f.write(line)
>>> f.close()
>>> os.listdir()
testw.txt라는 파일을
쓰기용 파일로 열어준다.
그리고 line이라는 변수에
Welcome을 저장하고
파일 핸들을 통해
testw.txt 파일에
line을 입력해주고
닫아준다.
그리고 디렉터리의
파일을 검사해보면
testw.txt 파일이 추가된 것을 볼 수 있다.
작성한 파일을 확인해보면
다음과 같다.
>>> f = open('testw.txt')
>>> re = f.read()
>>> print(re)
'Developer > Python' 카테고리의 다른 글
[파이썬] 파이썬 map() 함수 (0) | 2021.08.09 |
---|---|
[파이썬] 파이썬 join() 함수 (0) | 2021.08.09 |
[파이썬] 파이썬 정렬, 다중 조건 정렬, 람다(lambda) (0) | 2021.07.20 |
[파이썬] 포맷 연산자 (0) | 2021.04.01 |
[파이썬] 파이썬 Matplotlib를 이용한 그래프 만들기 (0) | 2021.03.11 |