[ZB] 파이썬 중급 5

SeriesWorld·2023년 11월 1일

ZB20

목록 보기
9/9
post-thumbnail

텍스트파일

쓰기

file = open('C:/pythonEx/project/test.txt', 'w')   # 'w'는 쓰기 권한으로 실행

strCnt = file.write('Hello Python!')   # 말 그대로 쓰기만 가능(기존 내용 삭제 후 쓰기)
print(f'strCnt: {strCnt}')   # 13


file.close()

strCnt에 담으면 문자열의 개수(int)가 담긴다.
변수에 할당하지 않고 실행만 해도 작동한다.
str 형태로 써야 한다(int 입력시 에러)

읽기

file = open('C:/pythonEx/project/test.txt', 'r')   # 'r'은 읽기 권한

read = file.read()
print(read)   #Hello Phthon!'

file.close()

[str].replace(a, b, c)
-> str에서 a라는 문자열을 찾아 b로 바꾼다.(3회)

열기

  • 파일모드를 통해 파일을 열 때 어떤 목적으로 열 건지 정하고 연다.
    w : 쓰기 전용(기존 내용 덮어쓰기)
    a : 쓰기 전용(기존 내용 뒤에 덧붙이기)
    x : 쓰기 전용(파일이 있으면 에러)
    r : 읽기 전용(파일이 없으면 에러)

with ~ as

  • close하지 않아도 알아서 닫힌다.
uri = '[디렉토리]'
with open(uri + '5_037.txt', 'a') as f:
    f.write('Hello Python!')

with open(uri + '5_037.txt', 'r') as f:
    print(f.read())    # Hello Python!

with ~ as 구문으로 파일을 읽을 때, 변수에 저장해두면 with ~ as 구문 밖에서도 활용할 수 있다.

writelines()

  • 리스트, 튜플 데이터를 파일에 쓰기 위한 함수
languages = ['c/c++', 'java', 'c#', 'python', 'javascript']
    
with open(uri + 'languages.txt', 'a') as f:
    f.writelines(item + '\n' for item in languages)

조건식/조건문처럼 반복문도 한 줄 안에 명령어 사용 가능

scoreDic = {'kor': 85, 'eng': 85,'mat': 85,'sci': 85,'his': 85}
with open(uri + 'scores.txt', 'w') as f:
    print(scoreDic, file=f)

print() 함수의 인자로 file= 부분을 추가해 텍스트파일 안에 출력문 그대로 저장할 수 있다.

readlines() / readline()

  • readlines(): 파일 전체를 list에 담음(행마다)
  • readline(): 한 행을 읽어 문자로 반환, 개행 문자까지 읽으므로 자동개행된다.

[str].split(a) : a라는 문자를 기준으로 str을 나눠 list 형태로 담는다.
[str].strip(a) : str문의 맨 앞뒤에 a 문자를 삭제한다.(맨 앞뒤에 있는 겨우에만 삭제)

0개의 댓글