(중급) text file

임경민·2023년 9월 24일
1
post-thumbnail

Summarization


  • 텍스트 파일을 파일을 다양한 방식으로 open할 수 있다.
  • readlines() : 파일의 모든 데이터를 읽어서 리스트 형태로 반환
  • writelines() : 반복 가능한 자료형의 데이터를 파일에 작성

Contents


  • write() : 파일 쓰기
    • 파일이 없으면 새로 생성
    • 기존에 있던 문자열을 다 없애버리고, 새로운 문자열로 작성
file = open('/Users/min/Documents/pythonEx/project/PythonTxt/text.txt', 'w')

strCnt = file.write('Hello world!')
print(f'strCnt: {strCnt}')

file.close()
  • read() : 파일 읽기 기능을 가진 옵션(Option)
file = open('/Users/min/Documents/pythonEx/project/PythonTxt/3_035_exam.txt', 'r')

str = file.read()
print(f'str : {str}')

file.close()
  • 다양한 형식의 텍스트 파일 열기
File Mode의미
' w '쓰기 전용(파일이 있으면 덮어씌움)
' a '쓰기 전용(파일이 있으면 덧붙임)
' x '쓰기 전용(파일이 있으면 에러 발생)
' r '읽기 전용(파일이 없으면 에러 발생)
  • With ~ as : Close 구문 없이 읽기(Read), 쓰기(Write) 가능
uri = '/Users/min/Documents/pythonEx/project/PythonTxt/'

with open(uri + '3_037_txtexam.txt', 'a') as f:
    f.write('python study!')

  • writelines() : 반복 가능한 자료형의 데이터를 파일에 작성
    • List 또는 Tuple 데이터를 파일에 쓰기 위한 함수
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']

uri = '/Users/min/Documents/pythonEx/project/PythonTxt/'

with open(uri + '5_038_writelines_exam.txt', 'a') as f:
        f.writelines(item + '\n' for item in languages)

  • readlines() : 파일의 모든 데이터를 읽어서 리스트 형태로 반환
uri = '/Users/min/Documents/pythonEx/project/PythonTxt/'

with open(uri + '5_038_writelines_exam.txt', 'r') as f:
        lanList = f.readlines()
        
print(f'lanList : {lanList}')
print(f'lanList type : {type(lanList)}')
  • readline() : 한 행을 읽어서 문자열로 반환
uri = '/Users/min/Documents/pythonEx/project/PythonTxt/'

with open(uri + '5_038_writelines_exam.txt', 'r') as f:
        line = f.readline()

while line != '':
        print(f'line : {line}', end='')
        line = f.readline()

0개의 댓글