一,异常
1,概念
在程序开发中,如果对某些代码的执行不确定(程序的语法完全确定)
可以增加try来捕获异常
try:
尝试执行的代码
expect:
出现错误的处理
2,示例
示例1
示例2
# 1,提示用户输入一个整数
# 2,使用8除以用户输入的整数并且输出
注意:当python解释器抛出异常时,最后一行错误信息的第一个单词,就是错误类型
示例四
注意:捕获未知异常:
在开发的时候,要判断所有可能出现的错误,是有一定难度的
如果希望程序无论出现任何错误,都不会因python解释器抛出异常而终止
可以再增加一个expect
示例五
一般格式
try:
#尝试执行的代码
pass
except 错误类型1:
pass
expect 错误类型2:
pass
except Exception as result:
else:
#没有异常才会执行的代码
pass
finally:
#无论是否有异常,都会执行的代码
pass
3,异常的传递
异常的传递--当函数/方法执行出现异常,会将异常传递给函数方法调用的一方
如果传递到主程序,依旧没有异常处理,程序才会终止,可以在主程序中增加
异常捕获,而在主函数中调用其他函数,只要出现异常,都会传递到主函数的异常捕获中
这就不需要在代码中,增加大量的异常捕获,能过保证代码的整洁
示例
4,需求
判断用户输入密码的位数
1,<8错误
2,>=8 返回输入的密码
5,断言
断言:可以理解为提前预言,让人更好的知道错误原因
二,模块
1,普通模板的导入
示例1
两个包
主程序多种调用方式
示例2
python的解释器在导入模块的时候,会:
1,搜索当前目录指定的模块文件,如果有就直接导入
2,如果没有,在搜索系统本生目录
注意: 在开发时,给文件起名,不要和系统模块文件重名
2,重要模板
__name__属性
__name__属性可以做到,测试模块的代码只在测试情况下被运行,而在被导入时不会运行
__name__是python的一个内置属性,记录着一个字符串
如果是被其他文件导入时,__name__就是模块名
如果时当前执行的程序,__name__就是__main__
示例
注意代码规范!!!
三,文件操作
操作文件的函数/文件
在python中要操作文件需要记住的1个函数和3和方法
#python中的一切皆对象
open :打开文件,并且返回文件操作对象
read :将文件内容读取到内存
write :将指定内容写入文件
close :关闭文件
open函数负责打开文件,并且返回文件对象
read/write/close三个方法都需要通过文件对象来调用
read方法--读取文件
open函数的第一个参数是要打开的文件名(文件名区分大小写)
如果文件存在,返回文件操作对象
如果文件不存在,会出现异常
read方法可以一次性读入并返回文件的所有内容
close方法负责关闭文件
# 如果忘记关闭文件,会造成系统消耗,而且会影响到后续对文件的访问
(一)方法一
示例1:读
# 建立README文件
示例2:读
文件指针:
文件指针标记从哪个位置开始读取数据
第一次打开文件时,通常文件指针会指向文件的开始位置
当执行了read方法后,文件指针会移动到读取内容的末尾
示例3:写
# 以写的方式带开文件,如果文件存在会被覆盖,如果文件不存在,创建新文件并写入
示例4:添加
# 以追加的方式打开文件
# 如果该文件存在,文件指针会放在文件的末尾
# 如果文件不存在,创建文件并写入
示例5
按行读取文件
read方法默认会把文件的所有内容一次性读到内存
如果文件太大,对内存的占用会非常严重
readline方法:
readline方法可以一次性读取一行内容
方法执行后,会把文件指针移动到下一行,准备再次读取
示例6
复制文件
示例7
大文件复制
(二)方法二
关键字with在不需要访问未见后将其关闭,在这个程序中,
我们调用了open(),但没有调用close();你也可以调用open()和close
关闭文件,但这样做时,如果程序存在Bug,导致close()语句没
文件将不会关闭,未妥善关闭文件可能会导致数据丢失或受损,
如果在程序中过早地调用close(),
你会发现需要使用文件它已经关闭(无法访问),
这会导致更多的错误,你并非在任何情况下都能轻松地确定关闭文件
通过使用with结构,可以让python去确定,
你只管打开文件,并在需要时使用它
python会在合适的时候自动将其关闭
示例1:读
示例2:按行读
示例3:写入,添加
四,json
注意:json(javascriptobject notation) 格式最初是为javascript开发的,但随后成了一种常见格式,
包包括python在内的众多语言采用
很多程序都要求用户输入某种信息,
程序都把用户提供的信息存储在列表和字典等数据结构中,
用户关闭程序是,你几乎总是要保存他们的信息:
一种简单的方式是使用模块json来存储数据
(在python中使用json的时候,主要就是使用json模块,json是以一种良好的格式来进行数据的交互)
模块json让你能够将简单的python数据结构存到文件中,
并在程序再次运行时加载该文件中的数据,
你还可以使用json在python程序之间分享数据,
更重要的是,json数据格式并非python专用的,
这让你能够将以json格式存储的数据与使用其他编程语言的人分享
示例1:写
示例2:读
示例3:键盘读入到文件
示例4:应用2
示例5:使用异常判断写程序
需求:如果以前存储了用户,就显示
否则,就体是用户输入用户名并存储它
注意:使用异常判断写程序!!!