반응형
chapter 11 - 파일 입출력
selfstudy 11-1
코드
inFp = None # 입력 파일
inStr = "" # 읽어온 문자열
lineNum = 1
inFp = open("C:/Temp/data1.txt", "r")
while True :
inStr = inFp.readline()
if inStr == "" :
break;
print("%d : %s" %(lineNum, inStr), end="")
lineNum += 1
inFp.close()
selfstudy 11-2
코드
inFp = None
inList, inStr = [ ], ""
lineNum = 1
inFp = open("C:/Temp/data1.txt", "r")
inList = inFp.readlines()
for inStr in inList :
print("%d : %s" %(lineNum, inStr), end = "")
lineNum += 1
inFp.close()
selfstudy 11-3
코드
outFp = None
fName, outStr = "", ""
fName = input("파일명을 입력하세요 : ")
outFp=open(fName, "w" )
while True:
outStr = input("내용 입력 : ")
if outStr != "" :
outFp.writelines(outStr + "\n")
else :
break
outFp.close()
print("--- 파일에 정상적으로 써졌음 ---")
selfstudy 11-4
코드
inFp, outFp = None, None
inFname, outFname, inStr = "", "", ""
inFname = input("소스 파일명을 입력하세요 : ")
outFname = input("타깃 파일명을 입력하세요 : ")
inFp=open(inFname, "r")
outFp=open(outFname, "w")
inList = inFp.readlines()
for inStr in inList :
outFp.writelines(inStr)
inFp.close()
outFp.close()
print("--- %s 파일이 %s 파일로 복사되었음 ---" % (inFname, outFname))
selfstudy 11-5
코드
from tkinter import *
from tkinter.filedialog import *
from tkinter import messagebox
## 함수 선언 부분 ##
def loadImage(fname) :
global inImage, XSIZE, YSIZE
fp = open(fname, 'rb')
for i in range(0, XSIZE) :
tmpList = []
for k in range(0, YSIZE) :
data = int(ord(fp.read(1)))
tmpList.append(data)
inImage.append(tmpList)
fp.close()
def displayImage(image) :
global XSIZE, YSIZE
rgbString = ""
for i in range(0, XSIZE) :
tmpString = ""
for k in range(0, YSIZE) :
data = image[i][k]
tmpString += "#%02x%02x%02x " % (data, data, data) # x 뒤에 한칸 공백
rgbString += "{" + tmpString + "} " # } 뒤에 한칸 공백
paper.put(rgbString)
## 전역 변수 선언 부분 ##
window = None
canvas = None
XSIZE, YSIZE=256,256
inImage=[] # 2차원 리스트 (메모리)
## 메인 코드 부분 ##
window = Tk()
window.title("흑백 사진 보기")
canvas = Canvas(window, height = XSIZE, width = YSIZE)
paper = PhotoImage(width = XSIZE, height = YSIZE)
canvas.create_image((XSIZE/2, YSIZE/2), image = paper, state = "normal")
# 파일 --> 메모리
filename = askopenfilename(parent=window, filetypes=(("모든 파일", "*.*"), ("모든 파일", "*.*")))
try :
loadImage(filename)
# 메모리 --> 화면
displayImage(inImage)
except :
messagebox.showerror("오류", filename+" 처리에 실패했습니다.")
else :
messagebox.showinfo("성공", filename + " 이 정상 처리되었습니다.")
finally:
messagebox.showinfo("종료", "수고하셨습니다.")
canvas.pack()
window.mainloop()
'IT' 카테고리의 다른 글
파이썬 for beginner 3판 – chapter 10 self study (0) | 2022.11.26 |
---|---|
파이썬 for beginner 3판 – chapter 9 self study (0) | 2022.11.26 |
파이썬 for beginner 3판 – chapter 8 self study (0) | 2022.11.25 |
파이썬 for beginner 3판 – chapter 7 self study (0) | 2022.11.25 |
파이썬 for beginner 3판 – chapter 6 self study (0) | 2022.11.24 |