두근두근 파이썬 수업 11장 파일을 사용해봅시다..

Slides:



Advertisements
Similar presentations
최적화 문제 해결 현대 생산  운영관리 부산대학교 산업대학원 2012 년 2 학기 하병현.
Advertisements

Python RaspberryPi Sejin Oh. Raspberry Pi Python  참과 거짓  Python 자료형의 참과 거짓을 구분 짓는 기준은 다음과 같다. 2 참과 거짓 자료형참 or 거짓 “” 가 아닌 문자열 ( 예 : “python”) 참 “” 거짓.
내 마음의 버 스 이천신하교회 청년부. 이름 : 한상훈 나이 : 30 살 종교 : 기독교 ( 모태신앙 ) 생활신조 : 인생은 한방 ! 로또나 사자 이상형 : 청순 가련한 모태미녀 특이사항 : 걸그룹 노래에 환장함 식스팩을 갖기엔 슬픈 몸을 타고 남.
독서골든벨 2009 학년도 6 학년 1 학기 6-10 반. 1. 이야기 삼국유사 정대한 원효대사는 수행을 위해 떠나던 중 피곤하여 숲 속에서 잠이 들었다. 잠결에 너무 목이 마른 나머지 어디에 담겨있는 물을 맛있게 마셨나요 ?
Tcl/Tk 민 인학 한국 Tcl/Tk 커뮤니티.
두 손 들고 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 두 손 들고 찬양합니다 두 손 들고 찬양합니다 다시 오실 왕 여호와께 다시 오실 왕 여호와께 오직 주만이 나를 다스리네 오직 주만이 나를 다스리네 나 주님만을.
지금은 기도 하는 시간입니다 1. 송구영신예배를 위해서 2. ‘크리스마스 이브’ 행사를 준비하는 교육 기관을 위하여
어서와 Java는 처음이지! 제3장선택과 반복.
기 본 원 칙 1 가. 실행가능한 적정예산 편성 나. 포괄적인 예산편성 지양
제12장 표준 입출력과 파일 입출력.
[ 단원 12 ] 파일처리 부산대학교 남 태 우.
Deep Learning in Udacity
현대사회의 여성문제와 여성복지 3조 권경욱 강향원 황대인 변갑수 박창욱 김지현.
두근두근 파이썬 수업 9장 리스트와 딕셔너리.
어서와 Java는 처음이지! 제2장 자바 프로그래밍 기초.
홈페이지 자동 구축 솔루션 K2 Web WIZARD 2.6 관리자 메뉴얼
고교평준화의 득과 실 김영주 이지영 최윤영.
2017년 하계 경성 프로그래밍 교육 (5/5) 경성대학교 공과대학 소프트웨어 학과.
쉽게 풀어쓴 C언어 Express 제16장 파일 입출력 C Express Slide 1 (of 23)
트랜잭션과 잠금 트랜잭션 처리 메커니즘을 자세히 이해한다. 트랜잭션의 종류를 파악한다.
7. while 문의 흐름 제어.
GUI Programming - Part 2 ( GUI for Python - wxPython )
Perl File Handling FileHandle : Name for I/O connection
처음으로 배우는 C 프로그래밍 제5부 추가적인 화제들 제 11 장 파일 처리.
Part 04 입출력과 전처리 ©우균, 창병모 이 슬라이드는 부산대학교 우균이 작성하였습니다. 오류나 수정할 사항 있으면 연락 주세요.
RFID Programming (출결관리 프로그램)
발로 하는 파이썬 세미나 안녕하세요. 저는 발로 하는 파이썬 세미나를 발표할….
1차 발표 학번: 이름: 송태성.
2010년 직원연수 자료 제1차 : 4월 16일 ~ 17일 제2차 : 4월 23일 ~ 24일
Chapter 13 Input/Output and Files
두근두근 파이썬 수업 14장 프로젝트 II.
엽기토끼 죽이기 팀명 : 청순가련.
-제어문, 함수, 클래스- IS lab. 김건영 Python -제어문, 함수, 클래스- IS lab. 김건영
17강 파일처리함수(1) 강 의 내 용 파일 입출력의 개념 파일포인터를 이용한 입출력 파일 입출력 과정
여는 장 큰제목과 조원이름은 늘 가로중앙선에 중심을 맞춰주세요.
adopted from KNK C Programming : A Modern Approach
비주얼 프로그래밍(2분반) 강의노트 2분반 = 월/목.
10장 tkinter로 GUI 만들기.
제2장 제어구조와 배열 if-else 문에 대하여 학습한다. 중첩 if-else 문에 대하여 학습한다.
플래시 CS3 사운드 활용하기 지리학과 염순성.
아두이노 프로그래밍 1일차 – Part4 값출력 및 디지털 읽기 강사: 김영준 목원대학교 겸임교수
PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지. PART 1 앱 인벤터 프로젝트 03 잡아라! 두더지.
Python.
컴퓨터 그래픽 I 영화 홍보 사이트 분석 과목 : 컴퓨터 그래픽 I 담당교수 : 손애경 교수님 학과 : 정보처리과 1반(A1)
조 병 규 Software Quality Lab. 한국교통대학교
Image Styler 발표자 : 백승현 신홍범.
Text Mining (Parsing) with R
도형의 닮음 Ⅵ-1 도형의 닮음 (1) 닮음과 닮은 도형 닮음
가계부 자동작성 APP Ucloud를 이용한 카드 내역 자동 작성 정보통신공학과 김대웅
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
U N I X 창원대학교 전자계산학과 김병찬.
작성일 참고서적 – Programing Game AI by Example
두근두근 파이썬 수업 14장 프로젝트 II.
파일 입출력.
nauten Compiler – Report Ver.3 Mini-C (주간)
두근두근 파이썬 수업 2장 변수를 소개합니다..
* 수업 목표 * 일반목표 : 명세목표 : 1. 2D 과제도면을 해독할 수 있다. 2D 과제의 요구조건을 이해할 수 있다.
INET, Inc. Ws_watch User Guide.
글로벌 교육 통신원 2015 해외대학 전공교육과정 우수사례 공모전 제목 소속(학과) 학번 성명.
Spring, 2019 School of CSE Pusan National University
개정판 누구나 즐기는 C언어 콘서트 제10장 문자열 출처: pixabay.
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
나-는 믿음으로 주 얼굴 보리니- 아침에 깰 때에 주형상에 만족하리 나주님 닮기 원하네 믿음으로 주얼굴 보리라 -
빠르게 활용하는 파이썬3 프로그래밍 Chapter 8. 입출력 안녕하세요, 파이썬의 세계에 오신 것을 환영합니다.
Choi Younghwan CSE HUFS
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
컴퓨터 프로그래밍 및 실습 – 5주차 내장함수 / 외장함수 (1)
2019. 학생인문독서연구회 READ TOGETHER 책모임 안내 모임 구성 및 신청서 작성 후 제출!!! * 제출일
Visual Basic .NET 윈도우 컨트롤 2.
Sound on 아름다운 인생을 위하여 ‘러브 북’ 중에서.
Presentation transcript:

두근두근 파이썬 수업 11장 파일을 사용해봅시다.

이번 장에서 만들 프로그램 (1) 간단한 단어 게임인 행맨을 작성해본다. (2) 윈도우에 있는 메모장과 같은 프로그램을 작성해보자.

파일의 필요성

실습용 텍스트 파일 만들기 메모장으로 다음과 같은 텍스트 파일을 작성한다.

파일에서 데이터 읽기 파일을 열다. 파일에서 데이터를 읽거나 쓸 수 있다. 파일과 관련된 작업이 모두 종료되면 파일을 닫아야 한 다.

파일 열고 닫기

파일 모드

파일에서 읽기 infile = open("d:\\phones.txt", "r") lines = infile.read() print(lines) 홍길동 010-1234-5678 김철수 010-1234-5679 김영희 010-1234-5680

파일에서 읽기 infile = open("d:\\phones.txt", "r") lines = infile.readlines() print(lines) ['홍길동 010-1234-5678\n', '김철수 010-1234-5679\n', '김영희 010-1234-5680\n']

한 줄씩 읽기 infile = open("d:\\phones.txt", "r") for line in infile: line = line.rstrip() print(line) infile.close() 홍길동 010-1234-5678 김철수 010-1234-5679 김영희 010-1234-5680

파일에 데이터 쓰기 outfile = open("d:\\phones1.txt", "w") outfile.write("홍길동 010-1234-5678\n") outfile.write("김철수 010-1234-5679\n") outfile.write("김영희 010-1234-5680\n") outfile.close()

파일에 데이터 추가하기 outfile = open("d:\\phones.txt", "a") outfile.write("강감찬 010-1234-5681\n") outfile.write("김유신 010-1234-5682\n") outfile.write("정약용 010-1234-5683\n") outfile.close()

파일에서 단어 읽기 split() 함수

속담을 저장한 파일

파일에 데이터 추가하기 infile = open("d:\\proverbs.txt", "r") for line in infile: line = line.rstrip() word_list = line.split() for word in word_list: print(word); infile.close() All's well ... flock together.

Lab: 파일 복사하기 파일을 복사하는 프로그램을 작성해보자. 파일의 이름은 사용자가 입력하도록 하자.

Solution # 입력 파일 이름과 출력 파일 이름을 받는다. infilename = input("입력 파일 이름: "); outfilename = input("출력 파일 이름: "); # 입력과 출력을 위한 파일을 연다. infile = open(infilename, "r") outfile = open(outfilename, "w") # 전체 파일을 읽는다. s = infile.read() # 전체 파일을 쓴다. outfile.write(s) # 파일을 닫는다. infile.close() outfile.close()

Lab: 행맨 단어 게임으로 유명한 것이 행맨(hangman)이다. 행맨은 컴퓨터가 생각하는 단어를 맞춰가는 게임이다. 사용자는 한번에 하나의 글자만을 입력할 수 있으며 맞으면 글자가 보이고 아니면 시도 횟수만 하나 증가한다.

단어들이 저장된 파일

Solution import random guesses = '' turns = 10 infile = open("d:\\words.txt", "r") lines = infile.readlines() word = random.choice(lines) while turns > 0: failed = 0 for char in word: if char in guesses: print(char, end="") else: print("_", end="") failed += 1 if failed == 0: print("사용자 승리") break

Solution print("") guess = input("단어를 추측하시오: ") guesses += guess if guess not in word: turns -= 1 print ("틀렸음!") print (str(turns)+ '기회가 남았음!') if turns == 0: print("사용자 패배 정답은 "+word) infile.close()

객체 입출력 pickle 모듈의 dump()와 load() 메소드를 사용하면 객체를 쓰고 읽을 수 있다.

객체 쓰기 import pickle # 게임에서 사용되는 딕셔너리 gameOption = { "Sound": 8, "VideoQuality": "HIGH", "Money": 100000, "WeaponList": ["gun", "missile", "knife" ] } # 이진 파일 오픈 file = open( "d:\\save.p", "wb" ) # 딕셔너리를 피클 파일에 저장 pickle.dump( gameOption, file ) # 파일을 닫는다. file.close()

객체 읽기 import pickle # 이진 파일 오픈 file = open( "d:\\save.p", "rb" ) # 피클 파일에 딕션너리를 로딩 obj = pickle.load( open( "save.p", "rb" ) ) print(obj) {'WeaponList': ['gun', 'missile', 'knife'], 'Money': 100000, 'VideoQuality': 'HIGH', 'Sound': 8}

Lab: 메모장 메모장의 기능을 수행하는 애플리케이션을 작성해본다.

Solution from tkinter import * def open(): file = filedialog.askopenfile(parent=window, mode='r') if file != None: lines = file.read() text.insert('1.0', lines) file.close() def save(): file = filedialog.asksaveasfile(parent=window, mode='w') lines = text.get('1.0', END+'-1c') file.write(lines) def exit(): if messagebox.askokcancel("Quit", "종료하시겠습니까?"): window.destroy() def about(): label = messagebox.showinfo("About", "메모장 프로그램")

Solution window = Tk() text = Text(window, height=30, width=80) text.pack() menu = Menu(window) window.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label="파일", menu=filemenu) filemenu.add_command(label="열기", command=open) filemenu.add_command(label="저장하기", command=save) filemenu.add_command(label="종료", command=exit) helpmenu = Menu(menu) menu.add_cascade(label="도움말", menu=helpmenu) helpmenu.add_command(label="프로그램 정보", command=about) window.mainloop()

이번 장에서 배운 것 파일은 컴퓨터 전원이 꺼져도 없어지지 않는다. 변수에 들 어 있는 값들은 컴퓨터 전원이 꺼지면 없어진다. 파일을 읽을 때는 파일을 열고, 데이터를 읽은 후에, 파일 을 닫는 절차가 필요하다. 파일 모드에서 “r”, “w”, “a”가 있다. 각각 읽기모드, 쓰기모 드, 추가모드를 의미한다.

Q & A