经过搜索,发现是本地的Twisted库的版本问题(具体可以参见这个)。 而我在本地使用的是anaconda python发行版,在安装Scrapy的时候默认安装的Twisted库是17.1.0。只要把Twisted库降级到16.6.0即可(使用conda install Twisted==16.6. ...
分类:
编程语言 时间:
2017-08-01 15:18:40
收藏:
0 评论:
0 赞:
0 阅读:
1487
10.1 模块 10.1.1 模块是程序 假设自己写的hello.py放在c:\python目录中,下面的方法就是导入自己的模块: import sys sys.path.append('c:/python') // 假设自己的程序保存在 c:\python import hello 如果hello ...
分类:
编程语言 时间:
2017-08-01 15:17:01
收藏:
0 评论:
0 赞:
0 阅读:
351
本系列的博文是笔者读《Unity Shader入门精要》的读书笔记,这本书的章节框架是: 第一章:着手准备。 第二章:GPU流水线。 第三章:Shader基本语法。 第四章:Shader数学基础。 第五章:利用简单的顶点/片元着色器来实现辅助技巧。 第六章:基本光照模型。 第七章:法线纹理、遮罩纹理 ...
分类:
编程语言 时间:
2017-08-01 15:12:17
收藏:
0 评论:
0 赞:
0 阅读:
237
问题原因:报错提示cannot get automation extension根据各种调试,发现是对应版本不对,上图发现selenium的版本是57.0.2987.133,需要driver为2.29以上的。而当前driver的版本为2.27,所以就会报错。 解决方法:替换上最新版本的driver即 ...
分类:
编程语言 时间:
2017-08-01 15:11:45
收藏:
0 评论:
0 赞:
0 阅读:
374
首先简单解释一下什么是声明式实现? 要做一件事, 需要知道三个要素,where, what, how。即在哪里( where)用什么办法(how)做什么(what)。什么时候做(when)我们纳入how的范畴。 1)编程式实现: 每一个要素(where,what,how)都需要用具体代码实现来表示。 ...
分类:
编程语言 时间:
2017-08-01 15:10:27
收藏:
0 评论:
0 赞:
0 阅读:
1758
我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list、tuple、dict、set、str等; 一类是generator,包括生成器和带yield的generator function。 这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。 ...
分类:
编程语言 时间:
2017-08-01 15:07:10
收藏:
0 评论:
0 赞:
0 阅读:
148
Python序列化的概念很简单。内存里面有一个数据结构,你希望将它保存下来,重用,或者发送给其他人。你会怎么做?这取决于你想要怎么保存,怎么重用,发送给谁。很多游戏允许你在退出的时候保存进度,然后你再次启动的时候回到上次退出的地方。(实际上,很多非游戏程序也会这..
分类:
编程语言 时间:
2017-08-01 14:13:36
收藏:
0 评论:
0 赞:
0 阅读:
161
前一回,我们讲完了“直接在功能方法中写验证代码”这种验证方式,接下来,我们继续搞定后续的三种方式。二、重写validate方法(注意这个方法会验证该类中所有的方法)使用重写验证方法的好处就是,又可以少写一句代码了!!!!2.1)修改Action类,在其中添加valiate方法,把..
分类:
编程语言 时间:
2017-08-01 14:13:12
收藏:
0 评论:
0 赞:
0 阅读:
190
Python里面经常会用到多线程,即所有的方法在同一时间开始运行,而不是按顺序一个一个运行。所用到的模块为threading,下面详解threading用法。我们写三个方法,one、two、three并正常运行。这里只截图了one()方法,two、three与one内容一样。按下面图中的运行方式,三个函数..
分类:
编程语言 时间:
2017-08-01 14:12:23
收藏:
0 评论:
0 赞:
0 阅读:
230
拦截器,顾名思义,是拦截不是打劫!!!(图片来自于网络,如果有版权或道德问题,请通知本博主删除,谢谢)是贼个样子滴,而不是这样滴。闲扯完了,回到正题,struts2中的拦截器到底是什么东东呢?我们来百度一下···呃,错了,我们来回顾一下,百度怎么有是我们这种熟练工..
分类:
编程语言 时间:
2017-08-01 14:11:21
收藏:
0 评论:
0 赞:
0 阅读:
406
很多人把装饰器搞的很复杂,其实本质很简单. 首先,什么是装饰器呢?在代码中发现戴着@xxx帽子的,就是装饰器. 那要怎么自己定义一个装饰器呢? 其实任何一个接收一个参数的callable都可以用来做装饰器,比如函数和类.为方便起见,下面的例子都用函数来说明. 这里,deco就可以做装饰器 "戴帽"其 ...
分类:
编程语言 时间:
2017-08-01 14:08:35
收藏:
0 评论:
0 赞:
0 阅读:
151
参考了其他的博客:http://ghostfromheaven.iteye.com/blog/1562618 ...
分类:
编程语言 时间:
2017-08-01 14:04:41
收藏:
0 评论:
0 赞:
0 阅读:
170
方法一:装饰器 利用“装饰器只会执行一次”这个特点 方法二:基类 利用“类变量对所有对象唯一”,即cls._instance 方法三:metaclass 利用“类变量对所有对象唯一”,即cls._instance 方法四:Borg模式 利用“类变量对所有对象唯一”,即__share_state 方法 ...
分类:
编程语言 时间:
2017-08-01 14:04:05
收藏:
0 评论:
0 赞:
0 阅读:
208
该文章所讲内容基本涵盖了Collection里面的全部东西,尽管基于jdk 1.5的。可是思路非常清晰 1.引言 1.1 Collection框架的介绍 尽管我们能够使用数组去存储具有同样类型的元素集合(包含基本类型和对象类型),可是数组不支持所谓的动态内存分配,一旦分配之后,它的长度就是固定的,无 ...
分类:
编程语言 时间:
2017-08-01 14:02:05
收藏:
0 评论:
0 赞:
0 阅读:
223
Java中堆内存和栈内存详解 Java把内存分成两种,一种叫做栈内存,一种叫做堆内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该 ...
分类:
编程语言 时间:
2017-08-01 13:59:54
收藏:
0 评论:
0 赞:
0 阅读:
249
OpenCV提供了众多对图片操作的函数,其中最基本的就是图片的读取与输出了。 一、读取图片 利用OpenCV读取一张图片是非常容易的,只需要用到 imread() 函数,我们进入IPython,输入help(cv2.imread)获取该函数的文档,得到: 可见, imread需要提供两个参数,第一个 ...
分类:
编程语言 时间:
2017-08-01 13:58:09
收藏:
0 评论:
0 赞:
1 阅读:
1331
Sub countrownum() Dim i, num, rownum num = Worksheets.Count For i = 2 To num 'Worksheets(i).Select rownum = WorksheetFunction.CountA(Worksheets(i).Col... ...
分类:
编程语言 时间:
2017-08-01 13:55:33
收藏:
0 评论:
0 赞:
0 阅读:
437
Diff Two Arrays 比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。言之,返回两个数组的差异。 ComparisonOperators Array.slice() Array.filter() Array.indexOf() Array.concat() ...
分类:
编程语言 时间:
2017-08-01 13:55:13
收藏:
0 评论:
0 赞:
1 阅读:
288
热 ...
分类:
编程语言 时间:
2017-08-01 13:53:16
收藏:
0 评论:
0 赞:
0 阅读:
272
在一个节点下挂载一个脚本,脚本里面要使用自己节点下的其他组件 用法1 用法2 ...
分类:
编程语言 时间:
2017-08-01 13:52:00
收藏:
0 评论:
0 赞:
0 阅读:
348