由于工作的需求,需要用python做一个类似网络爬虫的采集器。虽然Python的urllib模块提供更加方便简洁操作,但是涉及到一些底层的需求,如手动设定User-Agent,Referer等,所以选择了直接用socket进行设计。当然,这样的话,需要对HTTP协议比较熟悉,HTTP协议这里就不做讲解了。整个python的代码如下:#!/usr/binenvpythonimportsockethost="www.baidu.com"se=socket.so
系统 2019-09-27 17:52:30 1713
Git是编程中的基本技能之一,互联网公司几乎都在使用Git进行协作编程,昨天还有位禅友在微信上专门告诉我说星期五面试的时候刚好被问到Git,幸好在这几天学了一下。Git并不难,但会Git至少可以说明一个人的学习能力或者说对技术的嗅觉能跟上主流,如果面试问你GitHub是什么都不知道,面试官就会对你打一个大的问号。简单点评这一道题。在使用for循环迭代一个列表时,有时我们需要获取列表中每个元素所在的下标位置是多少,例如numbers=[10,29,30,41
系统 2019-09-27 17:52:23 1713
因前一篇https://blog.csdn.net/fjssharpsword/article/details/97000479采样问题未解决,发现如下github上有BPMF代码,采用wishart先验,性能和pymc3一致。参考:https://github.com/LoryPack/BPMF#coding:utf-8'''@author:Jason.F@data:2019.08.01@function:baselineBPMF(BayesianPro
系统 2019-09-27 17:52:22 1713
原型模式,也是用于创建对象时的一种设计方法。主要应用场景是:每次初始化某个对象时,需要传递大量的参数,很不方便,此时,可以使用原型模式,在已经创建并初始化的对象基础上,可以快速而又方便创建新的不同对象。主要原理:使用深拷贝,复制一个已创建的对象,然后使用__dict__.update()方法更新已创建对象中的参数值方式创建新对象。背景知识:在python中的类中,__dict__是一个字典,保存了所有该类中的变量,函数等参数。#coding=utf-8im
系统 2019-09-27 17:52:15 1713
进程、线程和协程进程的定义:进程,是计算机中已运行程序的实体。程序本身只是指令、数据及其组织形式的描述,进程才是程序的真正运行实例。线程的定义:操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。进程和线程的关系:一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。CPU的最小调度单元是线程不是进程,所以单进程多线程也可以利用多核CPU.协程的定义:协程通过在线程中实现调度,避免了陷
系统 2019-09-27 17:52:14 1713
字典是键/值对构成的集合,字典通过大括号来创建,字典的键是字符串,而值可以是任何数据对象。字典有两个重要的特征:字典是无序的,字典项没有特定的顺序,只能通过键来获取值;字典是可变的,支持原处修改键的值;字典是作为散列表来实现的,可增长,搜索非常快速;和列表一样,字典存储的是对象的引用,不是拷贝。创建字典创建空的字典:>>>d={}创建包含两个项目的字典:>>>d={'name':'vic','age':28}创建包含嵌套类型的字典:>>>d={'stude
系统 2019-09-27 17:52:13 1713
尽管内容可能有些老,但是没有关系,对于想深入Python开发的工作者,在选择GUI开发包,乃至可视化IDE方面都还有相当的借鉴意义。Python最大的特点就在于她的快速开发功能。作为一种胶水型语言,python几乎可以渗透在我们编程过程中的各个领域。这里我简单介绍一下用python进行gui开发的一些选择。1、TkinterTkinter似乎是与tcl语言同时发展起来的一种界面库。tkinter是python的配备的标准gui库,也是opensource的
系统 2019-09-27 17:52:05 1713
#!/usr/bin/envpython#coding=utf-8#------------------------------------------------------#Name:Apache日志分析脚本#Purpose:此脚本只用来分析Apache的访问日志#Version:2.0#Author:LEO#Created:2013-4-26#Modified:2013-5-4#Copyright:(c)LEO2013#---------------
系统 2019-09-27 17:52:04 1713
最近在工作中遇到一个问题,就是有一个功能希望在各种服务器上实现,而服务器上的系统版本可能都不一样,有的是CentOS6.x,有的是CentOS7.x。需要说明的一点是,CentOS6.x上的Python版本是2.6.x的,而CentOS7.x上的Python版本是2.7.x的,这意味着我要实现的功能要适配这两种版本的系统。你可能会说,这有什么的,自己写的时候,注意一下就好了。事情其实没有那么容易,我要实现的功能是基于一个框架进行定制,需要修改不少的框架代码
系统 2019-09-27 17:51:50 1713
本文实例讲述了python日志logging模块使用方法。分享给大家供大家参考,具体如下:一、从一个使用场景开始开发一个日志系统,既要把日志输出到控制台,还要写入日志文件importlogging#创建一个loggerlogger=logging.getLogger('mylogger')logger.setLevel(logging.DEBUG)#创建一个handler,用于写入日志文件fh=logging.FileHandler('test.log')
系统 2019-09-27 17:51:47 1713