模块
模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。即一个.py文件就是一个模块。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。
import语句
需要在一个模块使用另一个模块的内容是需要使用import语句。
import module1[, module2[,... moduleN]
当解释器遇到 import 语句,如果模块在当前的搜索路径就会被导入。
搜索路径是一个解释器会先进行搜索的所有目录的列表。
不管你执行了多少次import,一个模块只会被导入一次。
from ... import语句
from modname import name1[, name2[, ... nameN]]
__name__ 属性
是每个模块自带的一个属性,是用来保存当前模块的名字。一个模块被另一个程序第一次引入时,其主程序将运行。如果我们想在模块被引入时,模块中的某一程序块不执行,我们可以用__name__属性来使该程序块仅在该模块自身运行时执行。
文件操作
文件操作流程:打开文件 -> 操作文件(读/写) -> 关闭文件
- 打开文件:open(文件路径, 打开方式,编码方式)
- 文件路径(必填):决定打开哪个文件
a. 放在工程外面的文件,写绝对路径
(推荐)
b. 将文件放在工程目录下的某个位置,写相对路径(相当于工程目录):./相对路径 或 ../相对路径
当py文件直接放在工程目录下,想要使用open打开工程中的其他文件使用'./'
当py文件在工程目录的子目录下面,想要使用open打开工程中的其他文件使用'../' - 打开方式(默认值是'r'): 决定打开文件后是进行什么操作
'r' - 读操作(读出来是字符串)
'rb' / 'br' - 读操作(读出来是二进制文件)
'w' - 写操作(可以将文本数据写入文件中)在写的时候会清空文件中原来的内容,然后再往里面写数据
'wb' / 'bw' - 写操作(可以将二进制数据写入文件中)
'a' - 写操作(追加)在原文件内容的最后添加新的数据 - 编码方式:主要针对文本文件的读写(不同操作系统默认的文本编码格式不同)
- 文件路径(必填):决定打开哪个文件
open(file, mode,encoding)
# 打开文件,返回文件句柄(文件代言人)'r'
f = open('../7-26/test.txt', encoding='utf-8')
# 获取文件内容,并且返回
content = f.read()
print(content)
# 关闭文件
f.close()
# 'w'
f = open('../7-26/test.txt', 'w', encoding='utf-8')
f.write('File has been modified .')
f.close()
二进制文件的读写操作(音频、视频、图片文件,都是二进制文件)
# # 二进制文件 'rb'
f = open('../7-26/t.jpg', 'rb')
img_data = f.read()
print(type(img_data))
f.close()
# 二进制文件 'wb'
f = open('../7-26/new.jpg', 'wb')
f.write(img_data)
f.close()
通过with关键字去打开文件
with open as 文件变量名:
文件操作
在文件操作结束后自动关闭文件
# with
with open('../7-26/new.jpg', 'rb') as f:
img_data = f.read()
with open('../7-26/new_1.jpg', 'wb') as f:
f.write(img_data)
数据本地化:将数据保存在本地文件
json文件(文本),就是文件后缀是.json的文件.内容必须是json格式的内容
json格式:
1.内容是字符串
2.最外层是字典,字典里面必须是键值对
3.最外层是数组(列表),数组里面的内容必须是数组
json.loads(字符串, 编码方式) --> 将指定的字符串(json格式的字符串)转换成json数据
常用来将json格式字符串转换成字典/列表
content = json.loads('"abc"', encoding='utf-8')
print(content, type(content))
json.dumps() --> 将json对象转换成json对象
常用来将字典/列表转换成json格式字符串
content = json.dumps(['aaa', 1, True])
print(content)
Python 编码为Json类型转换对应表:
Python | Json |
---|---|
dict | object |
list, tuple | array |
str | string |
int,float,int-& float-derived Enums | number |
True | true |
False | false |
None | null |
JSON 解码为 Python 类型转换对应表:
JSON | Python |
---|---|
object | dict |
array | list |
string | str |
number(int) | int |
number(real) | float |
true | True |
false | False |
null | None |
出现异常(错误)不想让程序崩溃,就可以进行异常捕获
try:
需要捕获异常的代码
except:
出现异常后会执行的代码
try:
需要捕获异常的代码
except 错误类型:
捕获到指定的错误类型,菜执行的代码
网友评论