一、函数
1. 函数的定义
def 函数名():
代码
2.函数的调用
函数名()
3. 定义参数(不调用函数不执行)
def sum(a,b) #形参
c = a + b
print(c)#调用
sum(1,2) #实参
4. 函数返回值——》结果
需要变量,接收函数返回值
def buyClothes():
return “短袖”clothes = buyclothes() #clothes变量,用来接收函数返回值
print(clothes)
二、文件
1. 打开/创建文件
open(”文件路径”,“访问模式“)
不能创建文件夹
2. 关闭文件
fp.close()
3. 文件的读写
是覆盖操作
若需追加,使用“a”模式进行访问
读:
content = fp.read()
print(content)
一般情况下:
一个字节一个字节的读取
readline()方法:一行一行的读取,但是只能读一行
readlines()方法:读取多行,按列表格式返回
三、序列化、反序列化
1. 序列化:一套协议
按某种规则,把内存中的数据转为字节序列
python对象——》字节序列
2. 反序列化:
从文件字节序列恢复到内存中
字节序列——》python对象
无法将对象写入文件中。
进行序列化操作后,可写入
3. 序列化的2种方式
3-1. dumps()
1).创建一个文件
fp = open(“xx.txt”,“w”)
2).定义一个列表
xx_list = 【“zs”,“ls”】
3)导入json到文件中
import json
4)序列化
将python对象转为json字符串
content = json.dumps(xx_list)
print(content)
5)将content写入文件中
fp.write(content)
fp.close()
3-2. dump()
将python对象转为字符串的同时,指定一个文件对象,把转换后的字符串写入到指定的文件中
3-1中1),2),3)——》
json.dump(xx_list,fp)
fp.close()
4. 反序列化的2种方式
将json字符串转成python对象
fp = open(“xx.txt”,“r”)
content = fp.read()
print(content)
4-1. loads()
1)导入json
import json
2)将json字符串转成python对象
xx = json.loads(content)
3)转换后的打印
print(xx)
4-2. load()
fp = open(“xx.txt”,“r”)
import json
xx = json.load(fp)
print(xx)
fp.close()
四、异常
try:
可能出现异常的代码
except 异常类型:
友好的提示
try:fp = open("111.txt","r")fp.read()
except FileNotFoundError:print("系统升级中...")
五、反扒手段
1. user-agent
2. 代理IP
3. 验证码访问
4. 动态加载网页
5. 数据加密