第一部分分析try和except的用法
第二部分为什么会出现那个问题?
第一部分如下:
运行python的下面这段代码:
def save():
try:
t=1/0
print("ok")
except:
print("jj")
if __name__== '__main__':
save()
input("press enter……")
运行结果是:
可知try和except的用法是:
1、只要try
这部分内容不能能运行就会运行
except
这部分的内容。
2、只要try这部分的内容可以运行就不会运行except这部分的内容。
如下:
第二部分问题:
当你第一次用pycharm运行如下代码:
filename='student.txt'
def insert():
s=[{'id':'1','name':'wuz'},"jiek"]
save(s)
def save(list):
try:
stu=open(filename,'r',encoding='utf-8') #在文件后追加信息
print("ok")
except:
stu=open(filename,'a',encoding='utf-8') #不存在则先创建
for item in list:
stu.write(str(item)+'\n')
if __name__== '__main__':
insert()
input("press enter……")
运行上面的代码,点击enter键,成功运行第一次,生成filename='student.txt'文件。
第一次运行结果:
第二次运行结果:
ok
Traceback (most recent call last):
File "I:\1\python\pythonProject3\main.py", line 14, in <module>
insert()
File "I:\1\python\pythonProject3\main.py", line 4, in insert
save(s)
File "I:\1\python\pythonProject3\main.py", line 12, in save
stu.write(str(item)+'\n')
io.UnsupportedOperation: not writable
为什么会产生这个问题?经分析如下:
第二次执行的是
try
这部分的内容,使用的是只读模式,没有创建文件和写入模式。所以当你执行以下
这部分内容时就报错。