ad

学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_3.1.2 序列化

网友投稿 135 2023-11-13

【摘要】 本书摘自《Python网络爬虫 从入门到精通》一书中第3章,第1节,吕云翔、张扬和韩延刚等编著。

3.1.2 序列化

Python 程序在运行时,其变量(对象)都是保存在内存中的, 一般就把“将对象的状态 信息转换为可以存储或传输的形式的过程”称之为(对象的)序列化。通过序列化,程序可 以在磁盘上存储这些信息,或者通过网络来传输,并最终通过反序列化过程重新读入内存 (可以是另外一个机器的内存)并使用。Python 中主要使用 pickle 模块来实现序列化和反序 列化。下面就是一个序列化的小例子:

import pickle

11 =[1,3,5,7]

with open('l1.pkl','wb')as f1:

pickle.dump(11,f1)# 序列化

学习《Python网络爬虫 从入门到精通》_掌握爬虫的精髓_3.1.2 序列化

with open('l1.pkl','rb')as f2:

12 =pickle.load(f2)

print(12)#[1,3,5,7]

在 pickle 模块使用中还存在一些细节,比如 dumpO和 dumps()两个方法的区别在于 dumps()将对象存储为一个字符串,对应地,可使用 loads()来恢复(反序列化)该对象。某 种意义上说,Python 对象都可以通过这种方式来存储、加载,不过也有一些对象比较特殊, 无法进行序列化,比如进程对象、网络连接对象等。

3.2 字符串

字符串是 Python 中最常用的数据类型,Python 为字符串操作提供了很多有用的内建函 数(方法),常用的方法如下。

● str.capitalize(): 返回一个大写字母开头,其他都小写的字符串。

● str.count(str,beg=0,end=len(string)): 返回 str 在 string 里面出现的次数,如果beg (开 始)或者 end (结束)被设置,则返回指定范围内 str 出现的次数。

● str.endswith(obj,beg=0,end=len(string)): 判断一个字符串是否以参数 obj 结束,如果 beg 或者 end 被指定则只检查指定的范围。返回布尔值。

● str.findO: 检测 str 是否包含在 string 中,这个方法与 strindexO方法类似,不同之处 在于strindex() 使用中如果没有找到 str 会返回异常。

● str.format(): 格式化字符串。

● str.decode(): 以 encoding 指定的编码格式解码。

● str.encode(): 以 encoding 指定的编码格式编码。

● strjoin(): 以 str 为分隔符,把参数中所有的元素(的字符串表示)合并为一个新的字 符串,要求参数是 iterable (可选代的)。

● str.partition(string): 从 string 出现的第一个位置起,把字符串 str 分成一个3元素的 元组。

● strreplace(strl,str2): 将 str 中的 strl 替换为 str2, 这个方法还能够指定替换次数,十分方便。

● str.split(str1="",num=str.count(str1)): 以 strl 为分隔符对 str 进行切片,这个函数容易 让人联想到 re 模块中的 re.split() 方法(见第2章相关内容),前者可以视为后者的弱化版。

● str.strip():去掉 str左右侧的空格。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:打开《Python 编程与应用实践》_成为Python大佬_4.2 循环语句
下一篇:打开《Python 可视化数据分析》_学会挖掘大数据的价值_6.6.3 直方图
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×