一、操作系统中相关进程的知识Unix/Linux操作系统提供了一个fork()系统调用,它非常特殊。普通的函数调用,调用一次,返回一次,但是fork()调用一次,返回两次,因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。子进程永远返回0,而父进程返回子进程的ID。这样做的理由是,一个父进程可以fork出很多子进程,所以,父进程要记下每个子进程的ID,而子进程只需要调用getppid()就可以拿到父进程的I
系统 2019-09-27 17:50:08 1962
爬虫的抓取方式有好几种,正则表达式,Lxml(xpath)与BeautifulSoup,我在网上查了一下资料,了解到三者之间的使用难度与性能三种爬虫方式的对比。抓取方式性能使用难度正则表达式快困难Lxml快简单BeautifulSoup慢简单这样一比较我我选择了Lxml(xpath)的方式了,虽然有三种方式,但肯定是要选择最好的方式来爬虫,这个道理大家都懂,另外有兴趣的朋友也可以去了解另外两种爬虫方式!好了现在来讲讲xpath由于Xpath属于lxml模块
系统 2019-09-27 17:49:52 1962
1.模块(Module)在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式。在Python中,一个.py文件就称之为一个模块(Module)。使用模块有什么好处?最大的好处是大大提高了代码的可维护性。其次,编写代码不必从零开始。当一个模块编写完毕,就可以被其他地方引用。我们在编
系统 2019-09-27 17:49:11 1962
如题,后续继续优化importcsv#构建表头headers=["id","user_name","age","country"]#内容列表rows=[("001","dana",18,"china"),("002","tom",22,"arimecan"),("003","jack",45,"hk")]#新建csv文档,默认是自动换行的,所以要newline=""withopen("csv01.csv","w",newline='')asf:f_csv=
系统 2019-09-27 17:49:07 1962
Python基础a[::-1]:翻转列表解释:a[i:j:s],当s<0时,i缺省时,默认为-1.j缺省时,默认为-len(a)-1所以a[::-1]相当于a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍。所以你看到的是倒序输出。numpy相关newaxisnp.newaxis在使用和功能上等价于None,可以看作是None的一个别名可以理解为新增了一个所有值都为空的维度。从上图可以看出,newaxis给x新增了一个Y-axi
系统 2019-09-27 17:48:48 1962
前言个人一直觉得对学习任何知识而言,概念是相当重要的。掌握了概念和原理,细节可以留给实践去推敲。掌握的关键在于理解,通过具体的实例和实际操作来感性的体会概念和原理可以起到很好的效果。本文通过一些具体的例子简单介绍一下python的多线程和多进程,后续会写一些进程通信和线程通信的一些文章。python多线程python中提供两个标准库thread和threading用于对线程的支持,python3中已放弃对前者的支持,后者是一种更高层次封装的线程库,接下来均
系统 2019-09-27 17:48:46 1962
%用法1、整数的输出%o——oct八进制%d——dec十进制%x——hex十六进制2、浮点数输出(1)格式化输出%f——保留小数点后面六位有效数字%.3f,保留3位小数位%e——保留小数点后面六位有效数字,指数形式输出%.3e,保留3位小数位,使用科学计数法%g——在保证六位有效数字的前提下,使用小数方式,否则使用科学计数法%.3g,保留3位有效数字,使用小数或科学计数法(2)内置round()参数:number-这是一个数字表达式。ndigits-表示从
系统 2019-09-27 17:48:31 1962
因为盘搜搜索出来的链接有很多已经失效了,影响找数据的效率,因此想到了用爬虫来过滤出有效的链接,顺便练练手~这是本次爬取的目标网址http://www.pansou.com,首先先搜索个python,之后打开开发者工具,可以发现这个链接下的json数据就是我们要爬取的数据了,把多余的参数去掉,剩下的链接格式为http://106.15.195.249:8011/search_new?q=python&p=1,q为搜索内容,p为页码以下是代码实现:import
系统 2019-09-27 17:48:14 1962
计算:Ax-bA:2*2x:2*1b:2*1so,Ax-b:2*1if__name__=="__main__":A=np.array([[4.0,1.0],[1.0,3.0]])b=np.array([[1.0],[2.0]])x_0=np.array([[2.0],[1.0]])r_k=A*x_0-bprint(r_k)错误!!!修改:if__name__=="__main__":A=mat([[4.0,1.0],[1.0,3.0]])b=mat([[1
系统 2019-09-27 17:48:03 1962
cmp()方法返回两个数的差的符号:-1如果xy.语法以下是cmp()方法的语法:cmp(x,y)参数x--这是一个数值表达式y--这也是一个数值表达式返回值此方法如果xy则返回1例子下面的例子显示cmp()方法的使用#!/usr/bin/pythonprint"cmp(80,100):",cmp(80,100)print"cmp(180,100):",cmp(180,100)print"cmp(-80,100):",c
系统 2019-09-27 17:47:43 1962
发送端代码:#!/usr/bin/python#-*-coding:UTF-8-*-importsocketimportstructraw_socket=socket.socket(socket.PF_PACKET,socket.SOCK_RAW,socket.htons(0x1234))raw_socket.bind(("eth0",0))packet=struct.pack("!6s6sH","\xff\xff\xff\xff\xff\xff","\x
系统 2019-09-27 17:46:50 1962
地址:https://passport.bilibili.com/login左图事完整验证码图,右图是有缺口的验证码图步骤:1.准备bilibili账号2.工具:pycharmseleniumchromedriverPIL3.破解思路:找到完整验证码和有缺口的验证码图片,然后计算缺口坐标,再利用selenium移动按钮到指定位置,齐活步骤代码如下:先导入需要的包和库fromseleniumimportwebdriverfromselenium.webdri
系统 2019-09-27 17:46:44 1962
本文以一段简单的监听鼠标、键盘事件的程序,实现获取用户的输入(比如登录某些网站的账号、密码)的功能。经测试,对于一台“裸奔”的电脑,完全能获取到用户输入的任何信息;但是如果安装了杀毒软件,就够呛了。具体实现方法如下:一、代码部分:获取用户输入信息,并与截图一起保存到XX目录下#-*-coding:utf-8-*-#importpythoncomimportpyHookimporttimeimportsocketfromPILimportImageGrab#
系统 2019-09-27 17:46:23 1962
neo4j官方驱动支持Python语言,驱动程序主要包含Driver类型和Session类型。Driver对象包含Neo4j数据库的详细信息,包括主机url、安全验证等配置,还管理着连接池(ConnectionPool);Session对象是执行事务单元的逻辑上下文,事务是在Session的上下文中执行的。由于Session不是线程安全的,并能够从Driver对象管理的连接池中回收利用(Recycle)连接,因此,Session对象是轻量级的(lightw
系统 2019-09-27 17:45:32 1962
1、pip下载安装1.1pip下载#wget"https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb"--no-check-certificate#wget"https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d
系统 2019-09-27 17:37:51 1962