1.读写文件
读写文件:
写一个文本文件text:内容为西安培华学院
读取文本文件的内容
复制这个文件text,拷贝为text2
找一张图片,复制这个图片到copy.jpg
给定一个列表[“string1”, “string2”, “string3”]
将列表内容写入文件,每一个元素一行
with open('txt/text.txt', 'r') as file_obj:
data = file_obj.read()
with open('txt/text2.txt', 'w') as file_obj:
file_obj.write(data)
with open('img/01.jpg', 'rb') as file_img_obj:
data_img = file_img_obj.read()
with open('img/copy.jpg', 'wb') as file_img_obj:
file_img_obj.write(data_img)
list_var = ["string1", "string2", "string3"]
with open('txt/list.txt', 'w') as file_obj2:
file_obj2.write('\n'.join(list_var))
2.异常
异常的完整格式,以及每个部分的意思
常遇见的>=5种异常的处理
以及用异常处理来进行读写文件的文件关闭
如何主动抛出异常
异常处理的格式:
try:
要执行语句(有可能遇到异常)
a + b => 1 + 1 正常执行
=> 1 + "1" 执行的时候遇到异常
except [异常类型(可以省略) as name(变量赋值name)]:
做异常处理的语句
except 异常类型2:
处理2
except 异常处理3:
处理3
finally: # 最后
最后执行的语句
多个except的用途:
1.可以处理多个异常: 异常类型2, 异常类型3
2.针对多个不同的异常可以做不同的处理
处理2
处理3
# except 捕获, 异常类型: 捕获哪一种异常
# as name: 是将捕获到异常赋值给name(变量)
那就可以用name去访问异常
# 1.finally中的语句一定是最后执行
# 2.finally中的语句,无论是否出现异常都会执行
# TypeError
try:
print(1 + '1')
except TypeError:
print('TypeError')
# KeyError
dict_var = {1: 2}
try:
print(dict_var[2])
except KeyError:
print('KeyError')
# ValueError
list_var = [1, 2]
try:
print(list_var.index(3))
except ValueError:
print('ValueError')
# IndexError
try:
print(list_var[2])
except IndexError:
print('IndexError')
# NameError
try:
print(test)
except NameError:
print('NameError')

try:
file_obj = open('txt/1.txt', 'w')
file_obj.write('123456')
except:
print('异常处理')
finally:
file_obj.close()
print('Finally')

# raise 语句支持强制触发指定的异常
try:
1 + 1
raise IndexError from ZeroDivisionError
except IndexError:
print("Handle Index Error")

3.模块和包
什么叫模块?
如何导入模块,如何导入模块中的具体内容
import语句的实质是什么?
什么是包,包和目录的区别,init.py的作用
模块:为了方便不同程序调用同一个函数时,不用每次把函数复制到各个程序,
所以Python可以把各种定义存入一个文件,在脚本或解释器的交互式实例中使用。
这个文件就是模块。
# 导入模块的时候,一定是在模块的顶部导入,如果要导入模块中的具体内容
先在test_name.py中定义function_name()
def function_name():
print('hello')
然后在用import test_name调用test_name模块
# import test_name
# test_name.function_name()
import语句的实质是,在运行模块时,将导入的语句视为执行这个模块
什么是包:管理模块的命名空间
包和目录的区别:Python 只把含 __init__.py 文件的目录当成包
__init__.py的作用:
最简情况下,__init__.py 只是一个空文件,但该文件也可以执行包的初始化代码,或设置 __all__ 变量
这样可以防止以 string 等通用名称命名的目录,无意中屏蔽出现在后方模块搜索路径中的有效模块。
版权声明:本文为kouacbb原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。