目录
1、写一个文本文件text:内容为西安培华学院,读取文本文件的内容,复制这个文件text,拷贝为text2
3、给定一个列表["string1", "string2", "string3"],将列表内容写入文件,每一个元素一行
一、读写文件
1、写一个文本文件text:内容为西安培华学院,读取文本文件的内容,复制这个文件text,拷贝为text2
str_data = "西安培华学院"
file_obj_1 = open('text', 'w', encoding='UTF-8')
result = file_obj_1.write(str_data)
file_obj_1.close()
file_obj_2 = open('text', 'r', encoding='UTF-8')
result2 = file_obj_2.read()
print(result2)
file_obj_2.close()
with open('text2', 'w', encoding='UTF-8') as file_obj_3:
file_obj_3.write(result2)
2、找一张图片,复制这个图片到copy.jpg
data = open('1.jpg', 'rb')
result = data.read()
data.close()
data1 = open('copy.jpg', 'wb')
result1 = data1.write(result)
data1.close()
3、给定一个列表["string1", "string2", "string3"],将列表内容写入文件,每一个元素一行
list_data = ["string1", "string2", "string3"]
with open("list.txt", "w") as file_obj:
file_obj.write("\n".join(list_data))
二、异常
1、异常的完整格式,以及每个部分的意思
try:
要执行的语句
except:
异常处理的语句
......
except:
异常处理的语句N
else:
try中的语句正常执行,要执行操作
finally:
始终都要的做的语句
2、常遇见的>=5中异常的处理
data1 = 1
data2 = "2"
try:
data1 + data2
except NameError:
print("NameError")
except ValueError:
print("ValueError")
except IndexError:
print("IndexError")
except KeyError:
print("KeyError")
except TypeError:
print("TypeError")
else:
print(1 + 2)
finally:
print("finally")
3、用异常处理来进行读写文件的文件关闭
try:
file_obj = open("1.txt", "w")
file_obj.write("123")
1 / 0
except:
print("处理异常")
finally:
file_obj.close()
print("Finally")
4、如何主动抛出异常
try:
1
raise TypeError
except TypeError:
print("TypeError")
三、模块和包
1、什么叫模块?
退出 Python 解释器后,再次进入时,之前在 Python 解释器中定义的函数和变量就丢失了。因此,编写较长程序时,建议用文本编辑器代替解释器,执行文件中的输入内容,这就是编写 脚本 。随着程序越来越长,为了方便维护,最好把脚本拆分成多个文件。编写脚本还一个好处,不同程序调用同一个函数时,不用每次把函数复制到各个程序。
为实现这些需求,Python 把各种定义存入一个文件,在脚本或解释器的交互式实例中使用。这个文件就是 模块 ;模块中的定义可以 导入 到其他模块或 主 模块(在顶层和计算器模式下,执行脚本中可访问的变量集)。
模块是包含 Python 定义和语句的文件。其文件名是模块名加后缀名
.py
。在模块内部,通过全局变量__name__
可以获取模块名(即字符串)。
2、如何导入模块,如何导入模块中的具体内容
导入模块的语法: import module_name import module_name1, module_name2 调用模块中的内容: module_name.变量/函数/类 module_name.function_name() from module_name import function_name 直接调用function_name from module_name import * (一般情况不推荐使用) *: 所有, 但是还是有限制 导入所有不以下划线(_)开头的名称
3、import语句的实质是什么?
Python中使用import语句来导入一个模块(module),或者用来导入一个包(package),模块的实质就是一个*.py文件,实现了一定逻辑功能,包含了变量、函数、类等代码块,包的实质就是一个项目工程,里面有很多*.py文件,其中必须带有一个__init__.py文件。
4、什么是包,包和目录的区别,__init__.py的作用
包是一种用“点式模块名”构造 Python 模块命名空间的方法。
包含_init__.py文件的目录称为包
目录里通常不包含_init__.py文件
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件