python自学第11天-单线程并发、迭代器,序列化,获取路径
单线程并发 import time
def consumer(name):
print("%s 准备吃包子了"%name)
while True:
baozi=yield#变成一个生成器,遇到yield断点。
print("包子[%s]来了,被[%s]吃了" %(baozi,name))
c=consumer("hunter")
# c.__next__()
# c.send("豆沙") def product(name):
c1=consumer("A")
c2=consumer("B")
c1.__next__()
c2.__next__()
for i in range(10):
time.sleep(1)
print("生产了一个包子,分成了两半")
c1.send(i)
c2.send(i) product("hunter")
1. 可以直接用于for循环的对象就叫可迭代对象。Iterable
isinstance(,Iterable)是否是可以跌代。
2.可以被next()函数调用并不断返回下一个值的对象就叫迭代器。Iterator
isinstance(,Iterator)是否是跌代器。
用iterable变成iterator可以使用iter()函数变成一个迭代器
序列化
import json
info={'name':'hunter','age':'18'}
with open('text.txt','w',encoding='utf-8') as f:
json.dump(info,f)#json 序列化 成文件
反序列化
import json
with open("text.txt",'r',encoding='utf-8') as f:
data=json.load(f)#反序列化
print(data['name'])
获取路径:
import os
import sys
# sys.path.append() Base_Path=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))#dirname 只取路径把目录名去掉。 abspath()取出绝对路径 __file__取出相对路径
sys.path.append(Base_Path)#动态加入环境变量。
print(Base_Path) from core import main
main.m()
python自学第11天-单线程并发、迭代器,序列化,获取路径的更多相关文章
- Python 入门基础11 --函数基础4 迭代器、生成器、枚举类型
今日目录: 1.迭代器 2.可迭代对象 3.迭代器对象 4.for循环迭代器 5.生成器 6.枚举对象 一.迭代器: 循环反馈的容器(集合类型) 每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的 ...
- 网络编程socket 结合IO多路复用select; epool机制分别实现单线程并发TCP服务器
select版-TCP服务器 1. select 原理 在多路复用的模型中,比较常用的有select模型和epoll模型.这两个都是系统接口,由操作系统提供.当然,Python的select模块进行了 ...
- python自学笔记
python自学笔记 python自学笔记 1.输出 2.输入 3.零碎 4.数据结构 4.1 list 类比于java中的数组 4.2 tuple 元祖 5.条件判断和循环 5.1 条件判断 5.2 ...
- python 全栈开发,Day43(python全栈11期月考题)
python全栈11期月考题 1.常用字符串格式化有哪些?并说明他们的区别 2.请手写一个单例模式(面试题) 3.利用 python 打印前一天的本地时间,格式为‘2018-01-30’(面试题) 4 ...
- python初步学习-生成式、生成器、迭代器、装饰器
生成式 列表生成式 字典生成式 集合生成式 嵌套列表生成式 列表生成式 列表生成式是python受欢迎的语法之一,通过一句简洁的语法就可以对一组元素进行过滤,还可以对得到的元素进行转换处理.语法格式为 ...
- Python - 自学django,上线一套资产管理系统
一.概述 终于把公司的资产管理网站写完,并通过测试,然后上线.期间包括看视频学习.自己写前后端代码,用时两个多月.现将一些体会记录下来,希望能帮到想学django做web开发的人.大牛可以不用看了,小 ...
- [Python自学] day-19 (2) (Django-ORM)
一.ORM的分类 ORM一般分为两类: 1.DB first:先在DB中创建数据库.表结构,然后自动生成代码中的类.在后续操作中直接在代码中操作相应的类即可. 2.Code first:直接在代码中实 ...
- [Python自学] day-19 (1) (FBV和CBV、路由系统)
一.获取表单提交的数据 在 [Python自学] day-18 (2) (MTV架构.Django框架)中,我们使用过以下方式来获取表单数据: user = request.POST.get('use ...
- 8、如何实现可迭代对象和迭代器对象 9、如何使用生成器函数实现可迭代对象 10、如何进行反向迭代以及如何实现反向迭代 11、如何对迭代器做切片操作 12、如何在一个for语句中迭代多个可迭代对象
8.如何实现可迭代对象和迭代器对象 PS:注意重载Iterator方法的时候,需要和原来的方法名一样,否则创建实例时会报错 from collections import Iterator,Itera ...
随机推荐
- django开发(一)
django基础 1.django配置模块的各文件作用 一般来说标红的文件是需要我们具体配置和修改等的文件 2.django项目和功能编写的步骤 注:上面是功能模块,下面是配置模块.配置和功能解耦分离 ...
- nodejs cannot find module 'mysql' 问题分析
在windows平台下,测试nodejs连接mysql数据库. 首先 在控制台中安装mysql依赖包 npm install mysql 安装成功后,mysql依赖包可以在User目录中的node_m ...
- Docker Kubernetes 介绍 or 工作原理
Kubernetes 介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S. K8S是Google内部一个叫Borg的容 ...
- AJAX跨域问题以及解决思路(更新中)
跨域的三大原因(同时满足) 浏览器限制 跨域 XHR请求 解决思路: 让浏览器不做限制,指定参数,让浏览器不做校验,但该方法不太合理,它需要每个人都去做改动. 不要发出XHR请求,这样就算是跨域,浏览 ...
- CSS的再深入5(更新中···)
页面布局 结构层:搭我们的页面框架. 布局层:针对框架内部结构进行排版. 不需要使用浮动解决的问题尽量不用. 使用浮动之后会使该元素脱标,并且该元素的margin. div 盒子模型 : 就是一个容器 ...
- Learning-Python【0】:Windows环境下Python2和Python3的安装
一.下载 可以在官网下载最新版本, 也可以在以下链接中找想安装的版本下载下来,这里以Python3.6和Python2.7为例 https://www.python.org/ftp/python/ 二 ...
- HDU 1043 Eight(八数码)
HDU 1043 Eight(八数码) 00 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Problem Descr ...
- 《温故而知新》JAVA基础五
定义:是类和类之间的关系"is a" 弗父类(基类)->子类(派生类) 是一直单继承的关系 好处:子类拥有父类的属性方法(private除外) 语法 class Son ex ...
- 三层实现办公用品表CRUD(全过程)-ASP
好久都没有写写技术博客了,自己最近几个月都要忙着搬家还有添置家当,所以一些博客就很少去写了,天道酬勤,有些吃饭的家伙还是不能有所懈怠,所以送上一个花了几小时给人事同事写的简单办公用品表的CRUD,希望 ...
- nginx windows版 下载和启动
nginx Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.因它的稳定性.丰富的功能集.示例配置文件和低系统资源的消耗而闻名.在连 ...