项目目录结构:按照下图所示创建build文件夹及内容Dockerfile:FROMubuntu:16.04FROMpython:3.6ENVhttp_proxy=http://172.16.6.67:3128ENVhttps_proxy=http://172.16.6.67:3128RUNapt-get-yupdate&&\apt-get-yupgrade&&\apt-getinstall-y\vim\git\python3-dev\python3-set
系统 2019-09-27 17:46:45 1789
什么是生成器?可以理解为一种数据类型,这种数据自动实现了迭代器协议(其他数据类型需要调用自己内置的_iter_方法),所以生成器就是可迭代对象python提供生成器的两种表现形式:1.生成器函数:常规函数的定义,但是,使用yield语句而不是return语句返回结果。yield语句一次返回一个结果,在每个结果中间,挂起函数的状态,以便下次从它离开的地方继续执行。**函数里有yiled,执行函数就是一个生成器,不管yield位置在哪。采集函数创建生成器时,如
系统 2019-09-27 17:46:40 1789
多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须
系统 2019-09-27 17:46:37 1789
tzset()方法重置所使用的库例程的时间转换规则。环境变量TZ指定如何完成此操作。TZ环境变量的标准格式(空格为清楚起见而加的):复制代码代码如下:stdoffset[dst[offset[,start[/time],end[/time]]]]std和dst:三个或更多的字母数字给人的时区缩写。这些将被传播到time.tzname。offset:偏移量offset的形式为:.hh[:mm[:ss]]。这表明增值的本地时间以UTC到达。如果前面加一个“-”
系统 2019-09-27 17:46:36 1789
在python中有很多字符串连接方式,今天就在这里具体总结一下:①.最原始的字符串连接方式:str1+str2②.python新字符串连接语法:str1,str2③.奇怪的字符串方式:str1str2④.%连接字符串:‘name:%s;sex:'%('tom','male')⑤.字符串列表连接:str.join(some_list)下面具体分析一下:第一种,想必只要是有编程经验的人,估计都知道,直接用“+”来连接两个字符串:'Jim'+'Green'='J
系统 2019-09-27 17:46:32 1789
本文记录了笔者用Python爬取淘宝某商品的全过程,并对商品数据进行了挖掘与分析,最终得出结论。项目内容本案例选择>>商品类目:沙发;数量:共100页4400个商品;筛选条件:天猫、销量从高到低、价格500元以上。项目目的1.对商品标题进行文本分析词云可视化2.不同关键词word对应的sales的统计分析3.商品的价格分布情况分析4.商品的销量分布情况分析5.不同价格区间的商品的平均销量分布6.商品价格对销量的影响分析7.商品价格对销售额的影响分析8.不同
系统 2019-09-27 17:46:23 1789
一.基本数据类型整数:int字符串:str(注:\t等于一个tab键)布尔值:bool列表:list(元素的集合)列表用[]元祖:tuple元祖用()字典:dict注:所有的数据类型都存在想对应的类列里二.列表所有数据类型:基本操作:•索引•切片•追加•删除•长度•切片•循环•包含listclasslist(object):"""list()->newemptylistlist(iterable)->newlistinitializedfromiterab
系统 2019-09-27 17:46:22 1789
用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,Python生成随机数print(random.randint(12,20))#生成的随机数n:12<=n<=20print(random.randint(20,20))#结果永远是20#print(random.randint(20,10))#该语句是错误的。print(random.randrange(1,100,2))#返回[1,100]之间的奇数19print(random.ranran
系统 2019-09-27 17:46:15 1789
背景写代码的时候,你会发现你的代码越写越多。然而,功能需要也越来越多,然后你的冗余代码就多得不能再多了~~~怎么办,我太难了。那就寻求一些高级写法,一般的高级写法都是尽可能地短。另外,把重复的代码抽取出来,封装成函数,每次使用直接调函数即可。For循环赋值前提条件:我创建了一个road类,这个类里面有这些属性。我先初始化给road赋值,然后再把这些对象放到roadObjList集合里面。目标:从roadObjList集合里面取出每个road对象的objec
系统 2019-09-27 17:46:11 1789
时隔已久,再次冒烟,自动化测试工作仍在继续,自动化测试中的数据驱动技术尤为重要,不然咋去实现数据分离呢,对吧,这里就简单介绍下与传统unittest自动化测试框架匹配的DDT数据驱动技术。话不多说,先撸一波源码,其实整体代码并不多#-*-coding:utf-8-*-#ThisfileisapartofDDT(https://github.com/txels/ddt)#Copyright2012-2015CarlesBarrobésandDDTcontri
系统 2019-09-27 17:46:08 1789