◾텍스트 파일
- 텍스트 파일 기본 함수
open()
, read()
, write()
, close()
- 텍스트 파일 -> open() : 열기 -> read() : 읽기 | wirte() : 쓰기 -> close() : 닫기
write()
: 쓰기
file = open('경로/test.txt', 'w')
strCnt = file.write('Hello PYTHON~')
print(f'strCnt : {strCnt}')
file.close()
try:
file = open('경로/test.txt', 'r')
except Exception as e:
print('에러 발생')
print(e)
string = file.read()
print('string : {}'.format(string))
file.close()
◾열기 모드
- 파일 모드 : 파일을 어떤 목적으로 open할지 정하는 것
w
: 쓰기 전용(파일이 있으면 덮어씌움)
a
: 쓰기 전용(파일이 있으면 덧붙임)
x
: 쓰기 전용(파일이 있으면 에러 발생)
r
: 읽기 전용(파일이 없으면 에러 발생)
file = open('경로/hello.txt', 'w')
file.write('Hello World!')
file.close()
file = open('경로/hello.txt', 'a')
file.write('\nNice to meet You!')
file.close()
file = open('경로/hello_a.txt', 'x')
file.write('Nice to meet You!')
file.close()
file = open('경로/hello.txt', 'r')
string = file.read()
print(string)
file.close()
◾with ~ as문
with ~ as문
: 파일 닫기를 생략하는 구문
- 코드블럭 내에서만 해당 함수로 생성한 객체 사용 가능
with open('경로/5_037.txt', 'a') as f:
f.write('python study!!\n')
with open('경로/5_037.txt', 'r') as f:
print(f.read())
◾읽기 쓰기 함수
writelines()
: 반복 가능한 자료형(리스트, 튜플 등)의 데이터 쓰기
languages = ['c/c++', 'java', 'python', 'javascript']
with open(uri + 'languages.txt', 'a') as f:
f.writelines(item + '\n' for item in languages)
with open(uri + 'languages.txt', 'r') as f:
print(f.read())
readlines()
: 여러 줄 읽기, 모든 내용을 개행을 기준으로 분리하여 리스트로 반환
with open(uri + 'lans.txt', 'r') as f:
lanList = f.readlines()
print('lanList : {}'.format(lanList))
print('lanList type : {}'.format(type(lanList)))
readline()
: 한 줄만 읽기, 개행을 기준으로 한 라인의 내용을 반환
with open(uri + 'lans.txt', 'r') as f:
line = f.readline()
while line != '':
print('-'*25)
print('line : {}'.format(line), end='')
line = f.readline()