文章分类 -  python自动化开发

摘要:使用virtualenv包及virtualenvwrapper包管理工具来管理虚拟环境 这里部署环境为centos7 ,python2.7及python3.4已安装完成,后面部署多虚拟环境会分别用到不同的python环境 1、首先安装virtualenv工具 2.通过virtualenv工具创建虚拟 阅读全文
posted @ 2018-12-18 22:34 goser 阅读(318) 评论(0) 推荐(0)
摘要:uwsgi介绍 uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议。Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换。 要注意 WSGI / uwsgi / uWSGI 这三个概念的区分。 uWSGI的主要特点如下 uWSGI 安装及使用 安装 阅读全文
posted @ 2018-12-06 23:40 goser 阅读(536) 评论(0) 推荐(0)
摘要:ModelForm顾名思义也就是model+form的组合,方便程序的编写,但是方便的同时增加了代码的耦合度,所以在一些小程序上建议使用,如果在一些大型的程序开发的话,应避免使用ModelForm,而应该是用model和form 1、class Meta: ModelForm的class Meta成 阅读全文
posted @ 2017-08-07 17:21 goser 阅读(167) 评论(0) 推荐(0)
摘要:Scrapy Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Ser 阅读全文
posted @ 2017-08-04 14:34 goser 阅读(170) 评论(0) 推荐(0)
摘要:model 在程序中涉及到数据库的操作,比如操作mysql数据库,那么首先创建数据库,设计表结构和字段,用MYSQLdb来连接数据库,来操作数据库表中的数据,然后在业务层对处理的数据库数据通过html模板渲染到前端。 但django不是通过直接连接数据库来操作,而是通过ORM对象关系映射的方式构建数 阅读全文
posted @ 2017-07-26 14:56 goser 阅读(197) 评论(0) 推荐(0)
摘要:Django是WEB框架的一种,相对于其他的WEB框架(如Tornado、Flash、Bottle)的优势为:大而全,框架本身集成了数据库操作的ORM、模型绑定、模板引擎、Session、缓存等功能。 如何配置一个简单的Django程序: 一、创建一个django程序 可以通过终端创建,也可以通过编 阅读全文
posted @ 2017-07-25 17:18 goser 阅读(172) 评论(0) 推荐(0)
摘要:JQuery的在线帮助文档:http://jquery.cuishifeng.cn/ JQuery的版本有:1.x 2.x 3.x 在工作中主要选择1.x版本 我们知道JQuery是在DOM的基础上做了封装和优化,使用起来比DOM要方便和高效。 JQuery和DOM可以相互转换,转换的方式为: jq 阅读全文
posted @ 2017-07-19 22:11 goser 阅读(150) 评论(0) 推荐(0)
摘要:文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。我们最为关心的是,DOM把网页和脚本以及其他的编程语言联系了起来。DOM属于浏览器,而不是JavaScript语言规范里的规定 阅读全文
posted @ 2017-07-19 21:15 goser 阅读(136) 评论(0) 推荐(0)
摘要:JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码,那么浏览器就可以解释并做出相应的处理。 这里所说的在浏览器上编写javascript代码,指的是在打开浏览器后,进入开发者工具中或者按F12,在开发者工具中 阅读全文
posted @ 2017-07-19 17:28 goser 阅读(265) 评论(0) 推荐(0)
摘要:在软件开发中,许多应用程序都需要日志文件记录,方便程序开发者在开发和维护的时候调用。 python中的日志模块logging可以帮助程序开发者日志记录的问题。在日志中可以记录的日志的级别有debug、info、warning、error、critical,根据程序开发者的需求自行设定日志级别 下面就 阅读全文
posted @ 2017-07-15 20:07 goser 阅读(177) 评论(0) 推荐(0)
摘要:关于ORM框架介绍 orm英文全称object relational mapping,就是对象关系映射,简单来说我们类似python这种面向对象的程序来说一切皆对象,但是我们使用一些关系型数据库却都是关系型的,为了保证一致的使用习惯,通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样 阅读全文
posted @ 2017-07-12 21:30 goser 阅读(235) 评论(0) 推荐(0)
摘要:RabbitMQ是一个消息代理,从“生产者”接收消息并传递消息至“消费者”,期间可根据规则路由、缓存、持久化消息。“生产者”也即message发送者以下简称P,相对应的“消费者”乃message接收者以下简称C,message通过queue由P到C,queue存在于RabbitMQ,可存储尽可能多的 阅读全文
posted @ 2017-07-10 16:17 goser 阅读(317) 评论(0) 推荐(0)
摘要:大家都知道socket是无法多客户端的互动的,如果要让socket能够多并发服务的话,就要用到多路复用IO的select、poll或epoll。 io模式有: - 阻塞 I/O(blocking IO) socket服务默认就是一个阻塞的io服务- 非阻塞 I/O(nonblocking IO) 非 阅读全文
posted @ 2017-07-07 16:56 goser 阅读(505) 评论(0) 推荐(0)
摘要:队列是一种容器,可以将数据放入队列中,也可以从队列中取数据,其实列表也是一种容器,为什么不用列表存数据,而要用队列存数据呢,他们的主要区别在于队列是放入的数据再取出后,队列中就没有这个数据了,而从列表中取数据后在列表中这个数据还是存在的。 队列的存取顺序有: 队列主要用在消费者和生产者模型中。 生产 阅读全文
posted @ 2017-07-05 16:07 goser 阅读(108) 评论(0) 推荐(0)
摘要:进程和线程的原理 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称之为进 阅读全文
posted @ 2017-07-04 16:15 goser 阅读(169) 评论(0) 推荐(0)
摘要:paramiko模块是基于SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 基于公钥密钥连接: SSHClient封装Transport SSHClient封装Transport基于用户名密码连接: SSHClient封装Transp 阅读全文
posted @ 2017-07-03 23:23 goser 阅读(157) 评论(0) 推荐(0)
摘要:根据字符串来导入模块,官方建议用内置函数importlib来通过字符串动态导入模块 需导入模块的位置 modules_input.py模块中的代码: lib包下的test模块的代码: 通过运行modules_input模块,输出的结果为: 这个方法很重要,在做项目的时候会用到,所以建议大家一定要掌握 阅读全文
posted @ 2017-07-01 13:54 goser 阅读(294) 评论(0) 推荐(0)
摘要:socket编程,是一切web服务的祖宗,没有socket,就没有其他web服务,因为一切web服务都是在socket基础上进行加工处理。 那么下面直接上示例: server端的代码 client端的代码: socket ssh实例: 1、服务端 2、客户端: socket FTP实例: 1、服务端 阅读全文
posted @ 2017-07-01 11:50 goser 阅读(147) 评论(0) 推荐(0)
摘要:自定义异常实例: 在python2中要在自定义的异常中写上__str__()方法,只有这样raise异常的时候,才会触发异常具体信息,而python3中有没有__str__()的方法都可以,因为在父类已经定义了这个方法 自定义异常常用于软件开发后对软件的异常自定义触发。比如连接数据库的异常处理,就可 阅读全文
posted @ 2017-06-30 22:38 goser 阅读(104) 评论(0) 推荐(0)
摘要:反射的原理及示例 反射是根据字符串到对象中找到对应的变量或方法名,如果找到的话返回变量的值或方法的名字。 它有四个内置函数:hasattr(obj,name_str),getattr(obj,name_str),setattr(obj,name_str,value),delattr(obj,name 阅读全文
posted @ 2017-06-30 21:35 goser 阅读(189) 评论(0) 推荐(0)