파일 입출력
기호모드
r 읽기 모드 이미 만들어져 있는 파일의 내용을 읽을 때 사용 w 쓰기 모드 파일을 새로 만들고 내용을 쓸 때 사용 a 추가 모드 이미 만들어져 있는 파일의 내용 끝에 새로운 내용을 추가할 때 사 파일 쓰기
- 메소드 wrtie() : 파일에서 어떤 내용을 쓸 때는 사용하는 함수
from google.colab import drive drive.mount('/content/drive')# 파일 쓰기 모드 열기 # 새로 고침할 경우 content 파일에 생성 f = open("myfile.txt", 'w') # f.write('cheer up!') # 파일에 내용 작성 for _ in range(10): f.write("hello my world!!\n") f.write("goodluck boy~!!\n") # 파일 닫기 f.close()
파일 쓰기 모드 열기
# 파일 쓰기 모드 열기 with open("myfile.txt",'a') as f: for _ in range(3): f.write("cheer up!!\n") f.close()
f-string 연산자
- 문자열 포매팅이란, 문자열 안에 어떤 값이나 변수 따위를 삽입하는 방법
- f-string 포매팅은 파이썬 3.6 버전 이후에 등장한 기능
- 변수값을 직접 참조할 수 있기 때문에 변수명을 중괄호 안에 넣어서 사용
f.write(f'{nums[i]}\n')
파일 읽기 read()
파일 안에 있는 모든 내용을 하나의 문자열로 만들어서 return 값으로 전달
f = open('myfile.txt', 'r') text = f.read() print(text) f.close()
readline()
- 파일의 전체 내용을 한 줄씩 읽어오기
- 다음 줄을 읽으려면 다시 호출해 줘야 함.
- 문서가 아주 클 경우 사용하면 유용함
- 인수로 읽을 문자 수 지정 가능
f = open('myfile.txt', 'r') for _ in range(5): print(f.readline()) f.close()
readlines()
- 파일의 전체 내용을 한 번에 리스트로 읽어옴.
- 줄바꿈(\n) 기준으로 문자열을 나눔.
- string.split('\n')
- 파일이 크지 않고 한 번에 읽어도 메모리에 부담이 없는 경우 readlines()를 사용하면 편리함.
f = open('myfile.txt', 'r') str_list = f.readlines() print(str_list) dummy_list = [] for line in str_list: dummy_list.append(line.strip()) print(dummy_list) # 추가 설명 # print(list(map(lambda x: x.strip(), str_list))) f.close()
파일 내용 추가하기 (함수 open()의 'a' 모드)
f = open('myfile.txt', 'a') f.write('add_content1\n') f.write('add_content2\n') f.close()
with
함수 open()와 다르게 닫기에 신경쓰지 않아도 됨
with open('myfile.txt', 'r') as f: print(f.read())
연습문제
# 문제9 # 파일 열기 (with 문 사용) with open("output.txt", "r") as file: for line in file: line_length = len(line.strip()) print(f"줄 길이: {line_length}")
# 문제10 try: # 사용자로부터 파일 이름 입력 받기 file_name = input("파일 이름을 입력하세요: ") # 파일 열기 (with 문 사용) with open(file_name, "r") as file: file_contents = file.read() print(file_contents) except FileNotFoundError: print("파일을 찾을 수 없습니다.")
# 문제11 # 파일 열기 (with 문 사용) with open("numbers.txt", "r") as file: total = 0 for line in file: number = int(line.strip()) total += number print("합계:", total)
anaconda 가상환경 설정
작업 디렉토리 만들기
D 드라이브 바로 아래 ‘python_dir’ 디렉토리(파일) 생성하기
작업 디렉토리에 예제 파일 옮기기
- 폴더를 열고 파일 복사 및 붙여넣기
- 좌측 상단 화살표로 파일 위치 복사
python_dir에서 파일 위치 붙이기(제목)
엔터 후 ls로 파일 위치 확인
제어문(조건문과 반복문)
if문
num = -100 if num > 10: print("양수입니다") print("양수입니다") print("양수입니다") print('next') print('next')if...else문 & if...elif...else문
num = int(input("숫자를 입력하세요: ")) if num > 0: print("양수입니다") elif num == 0: print("0입니다") else: print("음수입니다")