f = open("파일명", "파일 열기 모드")
f.close()
종류 | 설명 |
---|---|
r | 읽기 모드 : 파일 읽기만 할 때 사용. |
w | 쓰기 모드 : 파일에 내용을 쓸 때 사용. |
a | 추가 모드 : 파일의 마지막에 새로운 내용을 추가할 때 사용. |
f = open("dream.txt","r")
contents = f.read()
print(contents)
f.close()
with open('../Users/chohyunjun/Desktop/data/09. a_new_hope.txt','r') as my_life:
contents = my_life.read()
print(type(contents), contents)
with open('../Users/chohyunjun/Desktop/data/09. a_new_hope.txt','r') as my_life:
content_list = my_life.readlines()
print(type(contents))
print(content_list)
with open('../Users/chohyunjun/Desktop/data/09. a_new_hope.txt','r') as my_file:
i = 0
while 1:
line = my_file.readline()
if not line:
break
print(str(i)+"==="+line.replace("\n",""))
i = i + 1
with open('../Users/chohyunjun/Desktop/data/09. a_new_hope.txt', 'r') as my_file:
contents = my_file.read()
word_list = contents.split(" ")
line_list = contents.split("\n")
print("총 글자의 수 : ", len(contents))
print("총 단어의 수 : ", len(word_list))
print("총 줄의 수 : ", len(line_list))
f = open("count_log.txt",'w', encoding = 'utf-8')
for i in range(1, 11):
data = "%d번째 줄이다.\n" %i
f.write(data)
f.close()
import os
os.mkdir('log')
if not os.path.isdir('log'):
os.mkdir('log')
모듈 호출한 후, 객체를 저장할 수 있는 파일을 열고 저장하고자 하는 객체를 넘기면 된다.
파일을 생성할 때는 w가 아닌 wb로 열어야 하는데, 여기서 b는 바이너리를 뜻하는 약자로, 텍스트 파일이 아닌 바이너리 파일로 저장.
dump()함수에서는 저장할 객체, 저장될 파일 객체를 차례대로 인수로 넣으면 해당 객체가 해당 파일에 저장.
import pickle
f = open("list.pickle","wb")
test = [1,2,3,4,5]
pickle.dump(test, f)
f.close()
import turtle as t
s7seg_img = ['7s0.gif','7s1.gif','7s2.gif','7s3.gif','7s4.gif','7s5.gif',
'7s6.gif','7s7.gif','7s8.gif','7s9.gif','7s10,gif']
def disp_num(k):
t.shape(s7seg_img[k])
t,stamp()
def key_0():
disp_num(0)
def key_1():
disp_num(1)
def key_2():
disp_num(2)
def key_3():
disp_num(3)
def key_4():
disp_num(4)
def key_5():
disp_num(5)
def key_6():
disp_num(6)
def key_7():
disp_num(7)
def key_8():
disp_num(8)
def key_9():
disp_num(9)
def key_10():
disp_num(10)
t.setup(400, 400)
s = t.Screen()
t.hideturtle()
t,speed(0)
for i in range(11):
s.addshape(s7seg_img[i])
disp_num(10)
s.onkey(key_0, "0")
s.onkey(key_1, "1")
s.onkey(key_2, "2")
s.onkey(key_3, "3")
s.onkey(key_4, "4")
s.onkey(key_5, "5")
s.onkey(key_6, "6")
s.onkey(key_7, "7")
s.onkey(key_8, "8")
s.onkey(key_9, "9")
s.onkey(key_10, "r")
s.listen()
import turtle as t
s7seg_base = "7s10.gif"
s7seg_led = ["7s-a.gif", "7s-b.gif", "7s-c.gif", "7s-d.gif", "7s-e.gif",
"7s-f.gif", "7s-g.gif"]
# a,b,c,d,e,f,g
s7seg_num = [[1,1,1,1,1,1,0], #0
[0,1,1,0,0,0,0], #1
[1,1,0,1,1,0,1], #2
[1,1,1,1,0,0,1], #3
[0,1,1,0,0,1,1], #4
[1,0,1,1,0,1,1], #5
[1,0,1,1,1,1,1], #6
[1,1,1,0,0,0,0], #7
[1,1,1,1,1,1,1], #8
[1,1,1,1,0,1,1]] #9
def disp_num(k):
t.shape(s7seg_base)
t.stamp()
if k < 10:
for i in range(7):
if s7seg_num[k][i] == 1:
t.shape(s7seg_led[i])
t.stamp()
def key_0():
disp_num(0)
def key_1():
disp_num(1)
def key_2():
disp_num(2)
def key_3():
disp_num(3)
def key_4():
disp_num(4)
def key_5():
disp_num(5)
def key_6():
disp_num(6)
def key_7():
disp_num(7)
def key_8():
disp_num(8)
def key_9():
disp_num(9)
def key_10():
disp_num(10)
t.setup(400, 400)
s = t.Screen()
t.hideturtle()
t.spped(0)
s.addshape(s7seg_base)
for i in range(7):
s.addshape(s7seg_led[i])
disp_num(10)
s.onkeypress(key_0, "0")
s.onkeypress(key_1, "1")
s.onkeypress(key_2, "2")
s.onkeypress(key_3, "3")
s.onkeypress(key_4, "4")
s.onkeypress(key_5, "5")
s.onkeypress(key_6, "6")
s.onkeypress(key_7, "7")
s.onkeypress(key_8, "8")
s.onkeypress(key_9, "9")
s.onkeyrelease(key_10, "0")
s.onkeyrelease(key_10, "1")
s.onkeyrelease(key_10, "2")
s.onkeyrelease(key_10, "3")
s.onkeyrelease(key_10, "4")
s.onkeyrelease(key_10, "5")
s.onkeyrelease(key_10, "6")
s.onkeyrelease(key_10, "7")
s.onkeyrelease(key_10, "8")
s.onkeyrelease(key_10, "9")
s.listen()
SyntaxError : EOL while scanning string literal
⇒ SyntaxError
에외가 발생하는 코드.
print("# 프로그램이 시작되었습니다!")
# 예외 발생 코드.
list_a[1]
예외 해결.
print("# 프로그램이 시작되었습니다!")
#예외 발생 코드 해결.
list_a = [1,2,3,4,5]
list_a[1]
예외 | 내용 |
---|---|
indexError | 리스트의 인덱스 범위를 넘어갈 때 |
NameError | 존재하지 않는 변수를 호출할 때 |
ZeroDivisionError | 0으로 숫자를 나눌 때 |
ValueError | 변환할 수 없는 문자나 숫자를 변환할 때 |
FileNotFoundError | 존재하지 않는 파일을 호출할 때 |
예외가 발생할 수 있는 코드.
# 숫자를 입력.
number_input_a = int(input("정수 입력 > "))
# 출력합니다.
print("원의 반지름 :", number_input_a)
print("원의 둘레 : ", 2 * 3.14 * number_input_a)
print("원의 넓이 : ", 3.14 * number_input_a * number_input_a)
# 숫자를 입력.
user_input_a = input("정수 입력 > ")
# 사용자 입력이 숫자로만 구성되어 있을 때.
if user_input_a.isdigit():
# 숫자로 변환.
number_input_a = int(user_input_a)
# 출력.
print("원의 반지름 : ", number_input_a)
print("원의 둘레 : ", number_input_a)
print("원의 넓이 : ", number_input_a * number_input_a)
else:
print("정수를 입력하지 않았습니다."0
try:
예외가 발생할 가능성이 있는 코드.
except:
예외가 발생했을 때 실행할 코드.
try:
예외가 발생할 가능성이 있는 코드.
except:
pass
try:
예외가 발생할 가능성이 있는 코드.
except:
예외가 발생했을 때 실행할 코드.
else:
예외가 발생하지 않았을 때 실행할 코드.
⇒ 이 때, 예외 발생 가능성 있는 코드만 try 구문 내부에 넣고 나머지는 모두 else 구문으로 빼는 경우 많음.
try:
예외가 발생할 가능성이 있는 코드.
except:
예외가 발생했을 때 실행할 코드.
else:
예외가 발생하지 않았을 때 실행할 코드.
finally:
무조건 실행할 코드.
raise 예외 타입(예외 정보)
assert 예외 조건.