Python IO笔记

同步IO:CPU等着,也就是程序暂停执行后续代码,等数据写入磁盘,再接着往下执行,这种模式称为同步IO;
异步IO:CPU不等待,后续代码可以立刻接着执行,这种模式称为异步IO。

另一种方法是CPU不等待,只是告诉磁盘,“您老慢慢写,不着急,我接着干别的事去了”,于是,后续代码可以立刻接着执行,这种模式称为异步IO。

  • strip()方法语法:str.strip([chars]) 返回移除字符串头尾指定的字符生成的新字符串。

  • with..as 语句来自动帮我们调用close()方法。

  • 像open()函数返回的这种有个read()方法的对象,在Python中统称为file-like Object。file-like Object不要求从特定类继承,只要写个read()方法就行。在python中常用作缓冲。

  • 把变量从内存中变成可存储或传输的过程称之为序列化

  • 把变量内容从序列化的对象重新读到内存里称之为反序列化

  • Python语言特定的序列化模块是pickle,但如果要把序列化搞得更通用、更符合Web标准,就可以使用json模块。

  • dumps()方法返回一个str,内容就是标准的JSON。类似的,dump()方法可以直接把JSON写入一个file-like Object。

  • 通常class的实例都有一个_ dict_属性,它就是一个dict,用来存储实例变量。也有少数例外,比如定义了_ slots_的class。

#定义一个类,序列化后输出
import json


class Student(object):
    def __init__(self,name,age,score):
        self.name = name
        self.age = age
        self.score =score
s = Student('Bob',18,88)
print(json.dumps(s,default=lambda obj:obj.__dict__))#__dict__用来存储实例变量

#反序列化
def dict2student(d):
    return (d['name'],d['age'],d['score'])
json_str = '{"age":18,"name":"Bob","score":88}' #字符串用''包含
print(json.loads(json_str),dict2student)

学习网站:www.liaoxuefeng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值