
Python
chd_xu
这个作者很懒,什么都没留下…
展开
-
项目实战: CMDB自动化资产扫描——3、视图层、前端及路由整合
资产管理探测流程存活探测: 获取局域网内存活的IP列表主机探测: 获取系统版本(SN、版本、MAC地址)主机关系探测: 识别宿主主机和虚拟机的关系1、主机存货探测模块视图层的实现Nmap探测工具Nmap,也就是Network Mapper,最早是Linux下的网络扫描和嗅探工具包。是一款用于网络发现和安全审计的网络安全工具。主机发现 - 识别网络上的主机。例如,列出响应TCP和/或ICMP请求或打开特定端口的主机。nmap -n -sP 172.25.254.197nmap原创 2020-07-30 16:54:32 · 819 阅读 · 0 评论 -
项目实战: CMDB自动化资产扫描——2、模型层设计
1、项目工程设计当用户发起HTTP请求时, Django的采集接口将HTTP请求的头部信息headers里面的IP和UA信息采集, 并存储到数据库中。 当用户想要访问采集数据时, 从数据库中读取,以界面的方式展示给用户。2、数据库模型层models一个类对应一个数据库表;类的一个属性对应数据库表的一个表头;max_length: 字符串最大长度, 对应数据库的varchar类型default: 指定默认值verbose_name: 指定Django后台显示的列头信息auto_now原创 2020-07-30 14:57:31 · 376 阅读 · 0 评论 -
项目实战: CMDB自动化资产扫描——1、介绍、环境搭建
1. 项目介绍本项目通过KVM虚拟化搭建Linux系统集群,使用 Ansible实现Linux集群下的批量部署与自动化管理,实现Web形式的自动化运维系统,集中批量控制服务器, 最终实现能支撑1000台实例的环境提供管理和自动化任务, 提高运维工程师的工作质量和效率。 项目基于HTTP实现自动化任务接受和响应接口设计,基于MySQL用作的关系型数据存取, 基于Redis的任务锁机制和消息队列, 基于MongoDB的事件日志记录, 最终实现邮件通知功能、敏感数据加密功能、日志事件记录功能。本博客主原创 2020-07-30 11:49:55 · 854 阅读 · 0 评论 -
项目实战:psutil结合Django实现文件内容比较(四)
实现功能:用户访问http://ip/, diff/,返回html页面,可以让用户上传文件1.host/urls.py添加diiff的路由功能# +号代表较之前功能添加的行,拷贝时候记得去掉from django.urls import path, includefrom . import viewsurlpatterns = [ path('', views.index, name='index'), path('disk/', views.disk, name='disk')原创 2020-07-27 17:53:05 · 256 阅读 · 0 评论 -
配置文件内容差异对比difflib
difflib为python的标准库模块,无需安装。用于对比文本之间的差异。并且支持输出可读性比较强的HTML文档,类似Linux系统的diff 命令。应用场景: 代码和配置文件差异对比。准备工作:两个不同时间备份的Nginx配置文件Pycharm集成化编程工具import difflibimport hashlibdef find_file_different(filename1, filename2, output_filename): ## 1.分析两个配置文件的不同,需原创 2020-07-27 17:00:36 · 857 阅读 · 0 评论 -
【Django框架基础知识】——Django、Torando、Flask,ORM,migration
1. Django框架,Flask框架和Tornado框架各有什么优缺点?为什么你的项目会选择使用Django框架?Django主要特点是大而全,集成了很多组件,例如: Models Admin Form 等等, 属于全能型框架优点:大和全(重量级框架)自带orm,template,view需要的功能也可以去找第三方的app注重高效开发全自动化的管理后台(只需要使用起ORM,做简单的定义,就能自动生成数据库结构,全功能的管理后台)session功能缺点:template不怎么好用(来原创 2020-07-26 18:54:10 · 269 阅读 · 0 评论 -
windows端的PyCharm连接linux服务器进行远程开发和调试(待完善)
配置目录同步配置远程python解释器参考链接.原创 2020-07-26 15:57:02 · 237 阅读 · 0 评论 -
项目实战:psutil结合Django实现服务器主机监控(三)
3.基于psutil模块监控用户登录监控需求3:用户访问http://ip/users/,返回当前登录用户的详细信息详情如下表:1)配置host/urls.pyurlpatterns = [ # 子路由配置,有对应的视图函数. path('', views.index, name='index'), path('disk/', views.disk, name='disk'), # 快速拷贝一行ctrl + d+ path('users/', views.u原创 2020-07-26 00:34:51 · 446 阅读 · 0 评论 -
项目实战:psutil结合Django实现服务器主机监控(二)
2. 基于psutil模块监控服务器的磁盘信息需求2:用户访问http://ip/disk/,返回磁盘分区的详细信息监控详情如下表1)配置host/urls.pyurlpatterns = [ # 子路由配置,有对应的视图函数. path('', views.index, name='index'), + path('disk/', views.disk, name='disk'), # 快速拷贝一行ctrl + d] 2)配置 host/views.py#添原创 2020-07-26 00:12:10 · 488 阅读 · 0 评论 -
项目实战:psutil结合Django实现服务器主机监控(一)
要求:基于psutil模块实现系统信息监控,监控详情如下表psutil实现系统信息监控1、安装psutil软件及依赖依赖:dnf install gcc python3-devel安装psutil软件:pip install -i https://pypi.douban.com/simple#安装表格软件,可以绘制出好看的表格:#pip install prettytable -i https://pypi.douban.com/simple2、代码预实现import psutil原创 2020-07-25 23:54:23 · 1057 阅读 · 0 评论 -
linux操作系统——进程状态转移
系统进程管理方法获取当前系统的进程信息,可以让运维人员得知应用程序的运行状态,包括进程的启动时间、查看 或设置CPU使用率、内存使用率、IO信息、Socket连接、线程数等,这些信息可以呈现出指定进 程是否存活,资源利用情况,为开发人员的代码优化、问题定位提供很好的数据参考。进程状态转移进程在其声明周期内,由于系统中各个进程之间的相互制约关系及系统的运行环境的变化,使得进程的状态也在不断发生变化,即一个进程会经历不同的状态五种状态1.创建状态进程由创建而产生。创建进程是一个非常复杂的过程,一般需原创 2020-07-25 18:57:28 · 873 阅读 · 0 评论 -
Python自动化运维笔记【系统性能信息模块psutil】
1、什么是pstuilpsutil(python system and process utilities), 是系统监控及进程管理的且跨平台的系统管理库,实现命令行中类似ps,top,lsof,netstat,ifconfit,who,df,kill,free,nice,ionice,iostat,iotop等等命令的功能。● psutil官方文档: https://pythonhosted.org/psutil/● psutil支持的操作系统有: Linux系统、Windows系统、Mac系统2原创 2020-07-25 12:26:05 · 290 阅读 · 0 评论 -
自动化运维与Python
1、为什么自动化运维?● 运维早期: 服务器体量小, 部署步骤少、操作简单、对运维人员要求较低(掌握基本的Linux命令即可)。运维人 员都是通过手工执行命令管理硬件、软件资源。运维人员需要执行大量的重复性命令来完成日常的运维工作。● 互联网行业飞速发展: 服务器体量大、部署步骤多、操作繁琐、对运维人员要求提高(至少掌握一门编程语言)自动化运维就是将这些原本大量重复性的日常工作自动化,让工具或系统代替人工来自动完成具体的运维工作,解放生产力,提高效率,降低运维成本。原因:(1)手工运维缺点多。手工原创 2020-07-25 12:17:10 · 394 阅读 · 0 评论 -
HTML 教程-菜鸟教程
链接: HTML 教程-菜鸟教程文档.<!DOCTYPE html>/*声明html版本是html5*/<br/><html lang="en"><head> <meta charset="UTF-8"> <title>图书的详情信息</title></head><body>/*常用html标签的总结1. 文本标签: h1-h6<h1>图书管理一级标原创 2020-07-23 21:19:18 · 2139 阅读 · 0 评论 -
Django快速入门——项目(四)前台管理
第一步: URLconf 路由管理在 Django 中,定义 URLconf 包括正则表达式、视图两部分 。Django 使用正则表达式匹配请求的URL,一旦匹配成功,则调用应用的视图 。注意:只匹配路径部分,即除去域名、参数后的字符串 。在主配置文件中添加子配置文件,使主 urlconf 配置连接到子模块的 urlconf 配置文件 。主配置文件my2django/urls.pyfrom django.urls import path, includeurlpatterns = [原创 2020-07-23 21:04:54 · 167 阅读 · 0 评论 -
Django快速入门——(三) 项目后台Admin 站点管理
内容发布(后台管理)站点分为“内容发布(后台管理)”和“公共访问(前台管理)”两部分“内容发布”的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力的工作。因此, Django 会根据定义的模型类完全自动地生成管理模块Django 框架中有一个非常强大的应用功能: 自动管理界面。 常被Web平台管理者使用,去管理整个Web平台。默认情况下,在 settings.py 配置文件中 INSTALLED_APPS 包含以下应用程序,为了后续的开发,默认这些应用程序都是包含在里原创 2020-07-23 12:26:05 · 224 阅读 · 0 评论 -
Django快速入门——(二、二)项目的数据库模型mysql
mysql原创 2020-07-23 11:28:10 · 162 阅读 · 0 评论 -
Django快速入门——(二)项目的数据库模型sqlite
第三步: 项目的数据库模型在 settings.py 文件中,通过DATABASES项进行数据库设置Django 支持的数据库包括: sqlite 、 mysql 等主流数据库Django 默认使用 SQLite 数据库Django数据库设置参考文档1、在my2django/setting.py中默认使用sqlite,通过DATABASES项进行数据库设置:DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqli原创 2020-07-23 11:27:23 · 301 阅读 · 0 评论 -
Django快速入门——(一)项目的创建与运行
第一步:项目的创建(1)在pycharm建立第一个django项目#点击pycharm模块创建#或django-admin startproject my2django进入项目目录,目录结构如下图:目录说明:manage.py :一个命令行工具,可以使你用多种方式对 Django 项目进行交互内层的目录:项目的真正的Python包 init.py :一个空文件,它告诉Python这个目录应该被看做一个Python包settings.py :项目的配置urls.py :项目的URL声明原创 2020-07-23 10:41:06 · 198 阅读 · 0 评论 -
一表解决——git常用命令速查表
原创 2020-07-23 10:20:21 · 92 阅读 · 0 评论 -
django项目上传到github个人主页
一、实验准备:1、安装pycharm的主机,并创建自己的django项目2、申请github账号,在github上创建仓库my2django 仓库地址:https://github.com/ninesunzhang/my2django.git3、在linux上安装git软件:dnf install git二、配置用户名和邮箱使用 --global 修饰后设置的全局的用户,如果设置单个项目的用户,可cd到项目根目录下,执行如下命令:git config --global user.name原创 2020-07-23 10:17:23 · 1091 阅读 · 0 评论 -
python对象关系映射sqlalchemy
需要一台有安装mysql数据库的机器安装模块: pip3 install sqlalchemy查看版本信息在sqlalchemy中,session用于创建程序与数据库之间的会话。所有对象的载入和保存都需要通过session对象。import sqlalchemyfrom sqlalchemy import create_engine from sqlalchemy.orm import sessionmakerfrom sqlalchemy.ext.declarative import .原创 2020-07-20 16:33:00 · 262 阅读 · 0 评论 -
Python操作关系型数据库Mysql
1. 创建数据表2. 安装包py3(pymysql), py2(MySQLdb)3. python操作数据库#1. 导入模块,py3(pymysql), py2(MySQLdb)import pymysql#1. 创建连接conn = pymysql.connect(host='localhost', user='root', password="westos", db='we原创 2020-07-20 15:54:12 · 274 阅读 · 0 评论 -
python面向对象编程
面向对象编程特性: 抽象 封装 继承 多态优点: 易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合 的系统,使系统更加灵活、更加易于维护缺点: 性能比面向过程低实例化类(Class)是是创建实例的模板对象(Object)是一个一个具体的实例实例化指在面向对象的编程中,把用类创建对象的过程称为实例化。是将一个抽象的概念类,具体到该类实物的过程。实例化过程中一般由类名 对象名 = 类名(参数1,参数2…参数n)构成。封装封装其实就是使用构造方法将内容封装到 对象原创 2020-07-20 15:35:13 · 95 阅读 · 0 评论 -
python异常处理
常见错误类型Exception 所有异常类的基类AttributeError 如果对象obj没有x成员, 会由obj.x引发EOFError 一个"end of file"到达控制台或者文件输入引发错误IOError 输入/输出操作失败引发错误IndexError 索引超出序列范围引发错误KeyError 请求一个不存在的集合或字典关键字引发的错误KeyboardInterrupt 用户按Ctrl - C中断程序引发错误NameError 使用不存在的标识符引发的错误StopIterati原创 2020-07-20 15:03:46 · 150 阅读 · 0 评论 -
python——生成器和装饰器
1、生成式用来快速生成某一个数据类型的式子列表生成式[]需求:已知x=1…10,求y=2x+8,并将求出的所有y值存除到列表中#1 普通方法result=[]for x in range(1..11): y=2*x+8result.append(y)print(result)#2 生成式result = [ 2*x+8 for x in range(1,11) ]print(result)列表生成式中的for循环里面可以嵌套if语句,也可以嵌套for语句需求:判断偶数并计算r原创 2020-07-20 14:11:45 · 468 阅读 · 1 评论 -
python文件对象的常用方法——读写定位关闭
1、读read #读取的指定字节,默认1024readline #读取文件的一行内容readliness #读取文件的所有内容,返回一个列表f=open('D:/westos.txt')print(f.read()) #最基本的读取方式,可以读取文件的所有内容print(f.readline()) #一行一行的读取文件的内容print(f.readlines()) #读取文件内容,返回一个列表,列表里的元素分别为文件每行的内容非纯文本文件的读取读取图片,音频或视频(非纯文本文件原创 2020-07-20 13:46:59 · 796 阅读 · 0 评论 -
python——文件基本操作
打开文件open()在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。open(文件名,访问模式)f = open(‘test.txt’, ‘w’)如果文件不存在那么创建,如果存在那么就先清空,然后写入数据操作模式1. r操作:(如果不写操作方式,默认情况下是r)只能读,不能写读取文件不存在,报错f=open('C:/伪代码.docx')print(f.readable())print(f.writable())f.close接下来对文件进原创 2020-07-20 13:25:43 · 143 阅读 · 0 评论 -
python的乐高积木——函数
1、函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段函数能提高应用的模块性,和代码的重复利用率Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数其实函数就是可以实现某一个功能的代码块,下次使用的时候直接调用函数就行1)函数定义def2)函数输入(参数):num1,num23)函数的输出(返回值)max4)定义函数下面“”“写的信息时函数的帮助文档5)num1:int表示传值类型,如果不是会报错6)return [表达式]原创 2020-07-20 13:08:19 · 748 阅读 · 0 评论 -
python中列表、元组、集合、字典
数组,列表,元组,集合,字典数组:存储同一种数据类型的数据结构[1,2,3,4]列表:可以存储不同数据类型的数据结构[1,2,3,3.4,”hello”]元组:可以存储不同数据类型的数据,不可添加和删除元素(“name1”,“粉条”,“张三”)集合:set数学概念,不重复的元素{1,2,3,1,2,3}=={1,2,3}字典:hash冒号前面叫key,冒号右边的是value:{“name”:”westps”,”age”:10}字符串内建方法:1、列表列表是Python中最基本的数据结构列表原创 2020-07-20 12:41:36 · 1566 阅读 · 0 评论 -
python字符串内建方法
字符串的类型判断是否字母或数字?isalnum是否字母? isalpha是否数字? isdigit是否小写字母?islower是否空格?isspace是否标题? istitle是否大写字母? issupper是否十进制字符?isdecimal小练习:判断变量的命名是否合法变量名定义是否合法:1.变量名可以由字母 数字 下划线组成2.变量名只能以字母或者下划线开头s = ‘321csv_’ s[0] s[1:]s = ‘asfasf%%’while True:l=inpu原创 2020-07-20 12:07:01 · 220 阅读 · 0 评论 -
python内置数据结构字符串的定义与基本特性
字符串的定义字符串或串(String)是由数字、字母、下划线组成的一串字符。Python 里面最常见的类型。可以简单地通过在引号间(单引号,双引号和三引号)包含字符的方式创建它。第一种方式:str1 = 'hello world' 第二种方式:str2 = "hello world"第三种方式:print(""" 定义多行字符串 这里写的东西会按原样式输出 通常会用在定义SQL语句的表达式中没有变量的时候使用""")转义一个反斜线加一个单一字符可以表示一个特殊字符,通常是不可打印的原创 2020-07-20 11:21:06 · 190 阅读 · 0 评论 -
python三大流程控制语句
一、分支语句1、单分支语句name = input("name:")if name == "root": print("当前是root用户")2、双分支语句##input接收的是字符串,我们需要的是整形,int转换类型name = int(input("age:"))if age >= 18: print("已经成年")else: print("未成年")3、多分支语句if 要判断的条件(True): 条件成立的时候,要做的事情elif 要判断的条件(True.原创 2020-07-20 10:37:44 · 222 阅读 · 0 评论 -
python——常见运算符号
注意:1). 整数一般以十进制表示,但是 Python也支持八进制(0开始)或十六进制(0x开始)来表示整数。• 十进制转换成二进制 bin(10)• 十进制转换成八进制 oct(10)• 十进制转换成十六进制 hex(10)2). 整数的范围取决于机器是32位还是64位? 但长整数不是, 取决于虚拟内存的大小常用运算符1). 算术运算符:+,-,*,**, /, %, //2). 赋值运算符:=, +=, -=, /=, *=, %=3). 关系运算符: >, >=, <原创 2020-07-20 10:18:45 · 14597 阅读 · 0 评论 -
Python——认识变量
一、认识变量变量是内存中的一块区域。对象赋值实际上是对象的引用。a=10变量的命名: 变量名由字母,数字,下划线组成, 不能以数字开头.、(a,b, c) hello = 100, hello_world = 100, count2 =100, count=10(x)Python中,变量定义时不需要指定类型的,当用变量的时候,必须要给这个变量赋值;二、定义变量语法:变量名 = 数据变量名: 程序员自己命名要求:标识符。不能是关键字。规范:见名知义 。满足PEP原创 2020-07-20 10:11:00 · 209 阅读 · 0 评论 -
Python——格式化输入输出
1.输入输出输入字符串input()输入数值类型int(input())输出print()2. 什么是格式化输出在python中可以使用print函数将信息输出到控制台如果希望输出文字信息的同时,一起输出数据,就需要使用到格式化操作符% 被称为格式化操作符,专门用于处理字符串中的格式,包含%的字符串,被称为格式化字符串% 和不同的字符连用,不同类型的数据需要使用不同的格式化字符3.格式符格式符控制显示的类型示例%s字符串print(“name=%s” %(‘p原创 2020-07-20 09:51:14 · 334 阅读 · 0 评论 -
Pycharm的安装和配置
一、Pycharm的安装和配置1.pycharm下载PyCharm 是一款功能强大的 Python 编辑器,具有跨平台性。 PyCharm 的下载地址:http://www.jetbrains.com/pycharm/download/#section=windows2.安装tar zxf pychrm-community-2018.3.tar.gz ##解压cd pychrm-community-2018.3/bin./pycharm.sh 3.输入账号密码4.新建原创 2020-07-19 23:54:23 · 404 阅读 · 0 评论 -
初识python,python的安装
1. 什么是pythonPython是一种计算机程序设计语言,是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell)Python的设计哲学强调代码的可读性和简洁的语法, 相比于C++或Java,Python让开发者能够用更少的代码表达想法。应用领域随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发,系统运维、图形处理、数学处理、文本处理、数据库编程、网络编程、web编程、多媒体应用、 pymo引擎、黑客编程、爬虫、机器学习、人工智能等等。诞生与发展• 1原创 2020-07-19 23:33:40 · 306 阅读 · 0 评论