24.07.10 Day08

최지원·2024년 8월 12일

파일 입출력

기호모드

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("음수입니다")

0개의 댓글