골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.골든래빗은 더 탁월한 가치를 제공하는 콘텐츠 프로덕션 & 프로바이더 입니다. 골든래빗은 취미, 경제, 수험서, 만화, IT 등 다양한 분야에서 책을 제작하고 있습니다.

[바로바로 파이썬 10] 메모장 프로그램 만들어보기

2026년 11월 12일조회 3

이 글은 《바로바로 파이썬》에서 발췌했습니다.

바로바로 파이썬

바로바로 파이썬

ISBN 9791124516775지은이 셀레나, 박현규₩30,000
교보문고예스24알라딘

[바로바로 파이썬 10] 메모장 프로그램 만들어보기

지금까지는 파일을 쓰는 방법, 파일을 읽는 방법, 파일을 한 줄씩 처리하는 방법을 각각 따로 배웠습니다. 하지만 실제 프로그램에서는 보통 하나의 기능만 사용하지 않습니다. 사용자에게 값을 입력받고, 그 값을 파일에 저장하고, 저장된 내용을 다시 읽어 화면에 보여주는 식으로 여러 기능이 함께 동작합니다. 이번에는 지금까지 배운 내용을 활용해 간단한 메모장 프로그램을 만들어보겠습니다.

메모장 프로그램의 흐름 생각하고 만들기

바로 코드를 작성하기 전에 먼저 메모장 프로그램이 어떤 흐름으로 동작하는지 생각해보겠습니다. 우리가 만들 메모장 프로그램에는 대략 다음과 같은 기능이 필요합니다.

1. 사용자에게 메모를 입력받습니다.

2. 입력받은 메모를 파일에 저장합니다.

3. 저장된 메모를 다시 읽어 화면에 출력합니다.

이 기능을 지금까지 배운 내용과 연결하면 다음과 같이 정리할 수 있습니다.

1. 사용자 입력 : input( ) 함수를 사용합니다.

2. 파일 저장 : open( ) 함수와 write( ) 메서드를 사용합니다.

3. 저장된 내용을 다시 읽기 : read( ) 또는 readline( )을 사용합니다.

그럼 이 구성에 맞게 기능을 하나씩 추가하면서 메모장 프로그램을 만들어봅시다.

먼저 가장 기본적인 기능부터 만들어보겠습니다. 사용자에게 메모 한 줄을 입력받아 파일에 저장하는 기능입니다.

➊ memo = input("메모를 입력하세요: ")는 사용자에게 메모를 입력받는 코드입니다. 사용자가 입력한 문자열은 memo 변수에 저장됩니다. 예를 들어 "장보기 목록 정리하기"를 입력하면 그 문장이 memo 변수에 저장됩니다.

➋ with open(...)은 memo.txt 파일을 쓰기 모드로 여는 코드입니다. 앞에서 살펴봤듯이 "w" 모드는 파일이 없으면 새로 만들고, 이미 있다면 기존 내용을 지운 뒤 새로 씁니다. 이어서 memo_file.write(memo)를 실행해 사용자가 입력한 메모를 파일에 저장합니다.

➌ 파일 저장이 끝났다는 안내 메시지를 출력합니다. 화면에 아무것도 나오지 않으면 사용자가 현재 상태를 알기 어렵기 때문에 이런 부분도 챙겨줘야 합니다.

정리하면 ➊ 사용자에게 메모를 입력받고, ➋ 입력받은 메모를 파일에 저장한 뒤, ➌ 저장이 완료되었다는 메시지를 출력했습니다. 이것이 메모장 프로그램의 가장 기본적인 저장 기능입니다.

메모를 파일에 저장했으니 이번에는 저장된 내용을 다시 읽어보겠습니다.

이번에는 저장한 메모를 읽어 오는 코드를 붙입니다. 파일을 읽을 때는 읽기 모드인 "r"을 사용하며, 저장된 파일 전체 내용을 한 번에 읽으려면 read( ) 메서드를 사용하면 됩니다.

➊ 앞에서 만든 메모 저장 기능입니다.

➋ with open(...)은 memo.txt 파일을 읽기 모드로 엽니다. 이어서 read( ) 메서드로 파일 전체 내용을 하나의 문자열로 읽어 온 다음, 그 결과를 saved_memo 변수에 저장합니다.

➌ print(f"저장된 메모: {saved_memo}")는 파일에서 읽어 온 내용을 화면에 출력합니다.

이제 메모장 프로그램은 사용자가 입력한 내용을 파일로 저장한 뒤, 저장된 내용을 다시 읽어 확인할 수 있게 되었습니다. 하지만 실제 메모장이라면 메모를 한 줄만 저장하는 것보다 여러 줄을 입력할 수 있는 편이 더 유용할 것입니다. 이번에는 반복문을 추가해보겠습니다.

이번에는 사용자가 메모를 계속 입력하고, "끝"이라고 입력하면 저장을 마치는 프로그램을 만들어보겠습니다. "끝"이라는 조건이 나왔을 때 입력을 마치려면 반복문과 조건문을 결합해야 합니다.

➊ memo.txt 파일을 쓰기 모드로 엽니다. 이번 예제에서는 새 메모장을 만든다고 생각하고 "w" 모드를 사용합니다. 따라서 기존에 같은 파일이 있다면 이전 내용은 지워지고 새로 입력한 메모가 저장됩니다.

➋ memo = input("메모 입력(끝 입력 시 종료): ")를 while 문 코드 블록 안쪽 맨 위에 작성했습니다. 이렇게 하면 반복문이 실행될 때마다 input( )이 다시 실행되므로 사용자에게 메모를 반복해서 입력받을 수 있습니다.

➌ 메모를 하나 입력받을 때마다 if memo == "끝":으로 사용자가 "끝"을 입력했는지 확인합니다. "끝"이 입력되었다면 break를 실행해 while 반복문을 종료합니다.

➍ 입력한 값이 "끝"이 아니라면 memo_file.write(memo + "\n")으로 입력받은 내용을 파일에 저장합니다. memo 뒤에 "\n"을 붙였으므로 메모 하나를 저장할 때마다 줄이 바뀝니다. 따라서 여러 번 입력한 메모가 파일에 한 줄씩 저장됩니다.

정리하면 ➊ 파일을 열고, ➋ 메모를 반복해서 입력받았습니다. ➌ "끝"이 입력되면 반복을 종료하고, ➍ 그전까지 입력한 메모는 파일에 한 줄씩 저장했습니다. 이제 제법 메모장다운 모습이 되었습니다. 여러 줄을 저장할 수 있게 되었으니 이어서 파일에서 필요한 한 줄만 읽는 방법도 활용해보겠습니다.

앞에서는 read( )를 사용해 파일 전체 내용을 읽었습니다. 이번에는 잠시 별도 예제로 readline( )을 사용해 첫 줄 읽기를 연습한 뒤, 앞의 메모장 프로그램 만들기로 돌아가겠습니다. readline( )은 현재 읽기 위치에서 한 줄을 읽어 오는 메서드이므로 메모 파일의 첫 번째 메모만 확인하는 데 사용할 수 있습니다.

➊ memo.txt 파일에 세 줄의 메모를 저장합니다.

➋ first_memo = memo_file.readline( ).strip( )으로 파일의 첫 번째 줄을 읽어 first_memo 변수에 저장합니다. 이때 readline( )의 결과에 바로 strip( )을 이어서 사용해 문자열 앞뒤의 공백 문자를 정리했습니다. 따라서 예제에서 줄 끝에 들어 있던 \n도 제거됩니다. 이처럼 어떤 메서드의 실행 결과에 이어서 또 다른 메서드를 사용하는 방식을 메서드 체이닝method chaining이라고 합니다. 여기서는 readline( )으로 얻은 문자열에 곧바로 strip( )을 적용한 것입니다.

➌ first_memo를 화면에 출력합니다. 파일에는 세 줄의 메모가 들어 있지만 readline( )을 한 번만 실행했으므로 첫 번째 줄만 읽어 출력합니다.

정리하면 ➊ 여러 줄의 메모를 파일에 저장하고, ➋ readline( )으로 첫 번째 줄만 읽은 뒤 ➌ 그 결과를 화면에 출력했습니다. 이처럼 파일 전체가 아니라 일부만 읽고 싶을 때 readline( )을 사용할 수 있습니다.

지금까지 저장, 읽기, 반복 입력 기능을 하나씩 만들어봤습니다. 이제 이 기능들을 연결해 메모장 프로그램을 완성해보겠습니다.

앞에서 만든 기능을 모두 합치면, 사용자가 여러 줄의 메모를 입력해 파일에 저장하고 저장이 끝난 뒤 파일 전체 내용을 다시 읽어 화면에 보여주는 프로그램이 됩니다. 이제 메모장 프로그램을 완성해봅시다.

➊ 첫 번째 with 블록에서는 사용자가 "끝"을 입력할 때까지 while 반복문을 실행합니다. 입력받은 값이 "끝"이 아니라면 메모 뒤에 \n을 붙여 memo.txt 파일에 한 줄씩 저장합니다.

➋ 두 번째 with 블록에서는 ➊에서 저장한 memo.txt 파일을 읽기 모드로 엽니다. 파일 전체 내용을 한꺼번에 읽기 위해 read( ) 메서드를 사용하고, 읽어 온 문자열을 all_memos 변수에 저장합니다.

➌ print(all_memos)는 저장된 메모 전체를 화면에 출력합니다. 파일에 메모를 저장할 때 각 메모 뒤에 \n을 붙였으므로, 출력할 때 메모가 줄 단위로 나뉘어 보입니다.

이제 우리가 배운 여러 문법이 하나의 프로그램 안에서 함께 동작합니다. input( )으로 값을 입력받고, while 문과 if 문으로 입력 과정을 제어하고, write( )로 파일에 저장한 뒤, read( )로 다시 읽어 print( )로 결과를 보여줍니다.

프로그램은 처음부터 거창할 필요가 없습니다. 사용자가 입력한 값을 저장하고, 저장한 값을 다시 보여주는 작은 코드도 하나의 목적을 수행하는 프로그램입니다. 중요한 것은 배운 문법을 각각 외우는 데서 끝내지 않고 하나의 목적을 이루도록 서로 연결해보는 것입니다.

📚 더 읽기

저자 소개

셀레나

서강대학교 AI·SW대학원 인공지능전공 대우교수이자 서울아산병원 빅데이터연구센터 데이터사이언티스트로 활동하고 있다. 고려대학교 정보대학 컴퓨터학과 박사과정에서 인공지능과 데이터 분석을 연구하고 있으며, 머신러닝·딥러닝·생성형 AI를 비롯한 다양한 IT 기술을 교육하고 있다. 서강대학교, 삼성전자, S-OIL, CJ 등 대학과 기업에서 파이썬 프로그래밍, 데이터 분석, 생성형 AI를 강의해 왔으며, 패스트캠퍼스·멀티캠퍼스·클래스101·메가스터디·인프런 등 다양한 교육 플랫폼에서 파이썬 및 AI 강의를 운영하고 있다. 저서로는 《파이썬 데이터 분석가 되기 + 챗GPT》가 있으며, 2025년 세종도서 학술부문에 선정되었다. 초보자도 프로그래밍을 쉽게 이해하고 직접 활용할 수 있도록 쉽고 실용적인 방식으로 가르치고 있다.

저서

  • 《파이썬 데이터 분석가 되기 + 챗GPT》

강의

  • 서강대학교: '생성형AI와 파이썬 데이터 분석' 정규 학기 수업
  • 패스트캠퍼스: AI 월드 프롬프트엔지니어링 강의 - '소크라테스', '아인슈타인' 강의 런칭
  • 패스트캠퍼스: '실패 없이 완주하는 파이썬 데이터 분석 입문' 강의 런칭
  • 멀티캠퍼스: '생성형 AI로 쉽게 배우는 데이터 분석', '파이썬 데이터 분석 입문 with ChatGPT' 강의 런칭
  • 클래스101: 'ChatGPT를 이용한 Python 데이터 분석 정복하기' 강의 런칭
  • 패스트캠퍼스: '실습으로 끝장내는 파이썬 데이터 분석 입문' 기업 전용 강의 런칭
  • 국비지원: '한 번에 따라하는 파이썬 데이터 분석 기초 완주반' 강의 런칭
  • 메가스터디: '파이썬 프로그래밍 기초', '인공지능을 위한 파이썬 라이브러리 활용' 강의 런칭
  • 인프런: '[왕초보] Python 프로그래밍 기초 완성 로드맵 강의' 런칭
  • 삼성전자: Citizen Developer 양성 과정 '파이썬 프로그래밍 기초'
  • 대한의료정보학회: '의료 데이터를 활용한 실전 분석' 튜토리얼
  • 숙명여자대학교, 한국외국어대학교, 아주대학교, 한국교통대학교, 울산대학교, 부산대학교: '파이썬 프로그래밍 기초', '파이썬을 활용한 머신러닝 및 데이터 분석 실습'
  • S-OIL, 현대오토에버, SK플래닛, 대상 주식회사, KPMG, CJ, 한국생산성본부: '생성형 AI 응용', '생성형 AI 입문', '생성형AI와 데이터 분석', 'RNN을 활용한 주가 데이터 분석'
  • 잡코리아: '인공지능 분야 취업 컨설팅'

SNS

  • E-mail _ selena.course.help@gmail.com
  • YouTube _ https://www.youtube.com/@SELENASSAM
  • LinkedIn _ https://www.linkedin.com/in/selenassam/
  • Instagram _ https://www.instagram.com/selenassam/

약력

  • 현) 서강대학교 AI·SW대학원 인공지능전공 대우교수
  • 현) 서울아산병원 빅데이터연구센터 데이터사이언티스트
  • 현) 고려대학교 정보대학 컴퓨터학과 박사과정
  • 전) 머신러닝, 딥러닝, IT플랫폼 개발, SCI 논문 저자
  • 전) 서강대학교 AI·SW대학원 데이터사이언스 석사 졸업
  • 전) 숙명여자대학교 컴퓨터과학 학사 졸업
  • 전) MIT IDSS Program 'Data Science and Machine Learning' 수료

박현규

최신 AI 도구를 리서치해 소개하는 ai100.co.kr을 운영하며, 현재 SpaceXAI 공식 앰배서더로 활동 중이다. IT 지식을 더 쉽게 나누기 위해 책을 쓰고, 유튜브와 쇼츠를 제작하며, 학교와 공공기관 등 AI를 쉽게 이해하고 싶은 사람들을 위해 강의한다.

저서

  • 《이게 되네? 챗GPT 미친 크롤링 24제》
  • 《이게 되네? 클로드 MCP 미친 활용법 27제》
  • 《요즘 바이브 코딩 커서 AI 30가지 프로그램 만들기》
  • 《요즘 바이브 코딩 깃허브 코파일럿 31가지 프로그램 만들기》
  • 《바로바로 바이브 코딩 with 커서 AI》
  • 《이게 되네? 클로드 MCP 커넥터 미친 활용법 31제》
  • 《바로바로 챗GPT X 덕테이프 X 코덱스》

SNS

  • E-mail _ hgpark@goldenrabbit.co.kr
  • Home _ ai100.co.kr
  • Facebook _ facebook.com/limedaddy8924
  • YouTube _ youtube.com/@editorp89
  • GitHub _ github.com/canine89
  • Kakao _ open.kakao.com/o/ggK7EAJh

📚《바로바로 파이썬》 자주 묻는 질문

Q.AI가 코드를 다 짜주는 시대인데, 지금 굳이 파이썬을 배워야 할까요?

인공지능 기술이 발전하면서 AI가 코드를 자동으로 생성해 주는 것은 맞습니다. 하지만 AI가 만든 코드가 내가 원하는 방향으로 정확하게 동작하는지 검증하고, 오류를 수정하며, 필요한 기능을 덧붙이기 위해서는 결국 사람이 코드를 이해하는 힘이 필수적입니다. 즉, AI를 도구로서 주도적이고 완벽하게 활용하기 위해서라도 프로그래밍의 기본기가 더욱 중요해진 시대가 되었습니다. 변수와 자료형, 조건문, 반복문 같은 기초 체력을 다져 놓아야 AI에게도 구체적이고 명확한 지시를 내릴 수 있고 그 결과를 제대로 판단할 수 있습니다. AI 시대를 이끌어갈 나만의 프로그래밍 기초 체력을 기르고 싶다면, 코드를 이해하는 힘을 길러주는 입문서 《바로바로 파이썬》으로 시작해 보시기를 강력히 추천합니다.

Q.코딩을 한 번도 안 해본 비전공자이자 초보자인데 책을 따라갈 수 있을까요?

네, 전혀 걱정하실 필요 없습니다. 이 책은 프로그래밍을 처음 접하는 독자의 눈높이에 맞춰 기획되었기 때문에 파이썬 설치 방법부터 코드 한 줄을 입력하고 실행하는 과정까지 아주 친절하고 세심하게 안내합니다. 특히 글만으로는 이해하기 힘든 추상적인 컴퓨터 과학 개념들을 일상생활의 친숙한 상황에 빗대어 설명하는 것이 큰 장점입니다. 예를 들어 어려운 함수 개념은 가래떡 공장에 비유하고, 클래스와 인스턴스의 관계는 시각적인 그림으로 풀어내어 비전공자도 막힘없이 읽어 내려갈 수 있습니다. 낯설고 딱딱한 코딩을 가장 쉽고 편안하게 배우고 싶다면, 풍부한 도해와 실생활 비유로 기본기를 탄탄하게 채워주는 《바로바로 파이썬》이 최고의 선택이 될 것입니다.

Q.책에 나오는 예제 코드들은 직접 수정해 보면서 실습할 수 있나요?

네, 이 책은 단순히 눈으로만 읽는 이론서가 아니라 독자가 직접 실행하고 변경하며 몸으로 익히는 실습 지향적 도서입니다. 책에 수록된 짧고 직관적인 예제들을 개발 환경에 직접 타이핑하고 실행해 본 뒤, 변숫값이나 조건을 살짝 바꾸어 보면서 결과가 어떻게 달라지는지 눈으로 확인할 수 있도록 설계되었습니다. 이 과정을 반복하다 보면 자연스럽게 코드의 동작 원리를 몸소 깨닫게 됩니다. 더불어 학습자 스스로의 진도를 점검할 수 있는 총정리 퀴즈와 종합 실력 점검 문제도 마련되어 있어 독학하기에 매우 좋습니다. 직접 코드를 만지고 변형하며 파이썬을 '내 것'으로 만들고 싶다면, 직접 실행하며 재미있게 배우는 《바로바로 파이썬》을 권해 드립니다.

Q.파이썬의 핵심 문법 중 어떤 내용들을 다루고 있나요?

파이썬 프로그래밍을 하기 위해 반드시 알아야 하는 필수 핵심 문법을 체계적으로 다룹니다. 데이터를 담는 그릇인 변수와 자료형부터 시작하여, 프로그램의 흐름을 제어하는 조건문과 반복문, 그리고 코드를 재사용할 수 있게 해주는 함수와 객체 지향 프로그래밍의 기초인 클래스까지 빠짐없이 담고 있습니다. 이 개념들은 나중에 데이터 분석이나 웹 개발, 인공지능 활용 등 어떤 분야로 나아가더라도 뼈대가 되는 중요한 지식들입니다. 눈에 보이지 않는 어려운 실행 흐름도 그림 자료를 통해 한눈에 볼 수 있도록 도해화하여 시각적으로 이해하기 편합니다. 파이썬의 핵심 뼈대를 가장 쉽고 탄탄하게 구축하고 싶다면 문법의 원리를 시각적으로 명쾌하게 풀어낸 《바로바로 파이썬》을 적극 추천합니다.

Q.혼자 공부하다가 중간에 포기하지 않고 끝까지 완독할 수 있는 장치가 있나요?

혼자 공부하는 독학자분들이 중도 포기하지 않도록 체계적인 학습 페이스메이커 도구들을 제공합니다. 독자의 개인 일정과 상황에 맞춰 유연하게 선택할 수 있는 '30일 집중 학습 진도표'와 '16주 여유만만 학습 진도표'가 수록되어 있어 계획적으로 진도를 관리할 수 있습니다. 또한 각 장이 끝날 때마다 배운 내용을 가볍게 복습할 수 있는 총정리 퀴즈가 준비되어 있고, 책 후반부에는 실력을 한 단계 더 끌어올릴 수 있는 종합 실력 점검 문제가 제공되어 배움의 성취감을 즉각적으로 느낄 수 있습니다. 중간에 지치지 않고 나만의 속도로 코딩 독학 완주의 기쁨을 누려보고 싶으시다면, 독자의 꾸준한 학습을 섬세하게 응원하고 돕는 《바로바로 파이썬》과 함께 시작해 보세요.

Q.데이터 분석이나 인공지능 분야로 나아가고 싶은데, 이 책이 도움이 될까요?

데이터 분석이나 인공지능(AI) 공부를 시작할 때 가장 먼저 맞닥뜨리는 장벽이 바로 파이썬 기본기 부족입니다. 아무리 좋은 라이브러리와 AI 툴이 있더라도, 기본 문법을 모르면 데이터를 전처리하거나 모델의 결과를 커스텀할 때 코드를 손대지 못해 막히게 됩니다. 이 책은 본격적인 데이터 분석이나 AI 모델링 단계로 넘어가기 전, 프로그래밍의 기초 근력을 완벽히 기를 수 있도록 돕는 디딤돌 역할을 합니다. 기초가 튼튼해야 고급 기술도 빠르게 습득할 수 있습니다. 나중에 데이터 과학자나 AI 엔지니어로 거듭나기 위한 첫걸음이자 탄탄한 기본기 발판을 다지고 싶다면, 누구나 쉽고 빠르게 원리를 깨우치는 입문서 《바로바로 파이썬》으로 튼튼한 뼈대를 세워보세요.

Q.책에 복잡하고 긴 코드 예제만 가득해서 지루하진 않을까 걱정됩니다.

초보자분들의 그런 걱정을 덜어드리기 위해 이 책은 아주 짧고 직관적인 예제들 위주로 구성되어 있습니다. 지루하고 긴 코드 대신 한눈에 들어오는 짧은 분량의 예제를 직접 타이핑하고 실행해 볼 수 있어 학습 피로도가 매우 낮습니다. 단순히 텍스트만 나열된 것이 아니라, 글만으로는 직관적으로 파악하기 어려운 복잡한 개념과 실행 흐름들을 다채롭고 풍부한 삽화와 도해로 처리하여 페이지를 넘기는 재미가 쏠쏠합니다. 그림을 보며 눈으로 이해하고, 짧은 코드를 손으로 만져보며 코딩의 즐거움을 즉각적으로 느낄 수 있습니다. 코딩이 낯설고 두려워 시도조차 못 하고 계셨다면, 지루할 틈 없이 눈과 손이 모두 즐거운 《바로바로 파이썬》으로 파이썬의 매력에 푹 빠져보세요.