自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(260)
  • 收藏
  • 关注

原创 mysql005--mysql与python交互

一、安装相关包       ubuntu下安装命令: sudo apt-get install python-mysqldb       pycharm安装依赖包:       二、代码示例测试表的结构:#encoding=utf-8import pymysql#Python与mysql数据库的交互class MySQLUtil(object): ""...

2018-09-17 19:47:36 238

原创 mysql004--关联查询,外键的级联操作,常用内置函数

外键的级联操作:restrict : ( 默认 ) 限制删除,抛出异常 cascade : (级联)如果主键被删掉,则从表中相应的记录也被删掉 set null : 将外键设置为空 no action : 什么都不做关联查询:内连接:只满足连接条件的数据 左连接:满足连接条件的数据和左边剩余的数据 右连接:满足连接条件的数据和右表剩余的数据 外连接:两个表的并集,左连接 U ...

2018-09-17 19:47:29 402

原创 mysql003--查询语句

比较运算符: = > < = <>  != >= <=逻辑运算符: and or not模糊查询: like %(任意个字符) _单个字符范围查询: in() , between ... and ...空判断: is null优先级: ()->not->比较运算符->逻辑运算符 (and比or先运算)聚合函数: coun...

2018-09-17 19:47:14 221

原创 mysql002--数据的备份与恢复

MySQL数据库的备份:1.用超级管理员权限操作: sudo -s2.进入mysql目录:cd /var/lib/mysql3.执行mysqldump命令: mysqldump -uroot -p databaseName > ~/Desktop/databasebak.sqlMySQL数据库的恢复:1. 连接mysql并创建数据库2. 退出数据库3....

2018-09-15 18:19:52 200

原创 mysql001--安装及基本使用

Ubuntu安装mysql:安装: sudo apt-get install mysql-server mysql-client启动mysql服务:service mysql start关闭mysql服务:service mysql stopmysql允许远程连接:1. sudo vi /ect/mysql/mysql.conf.d/mysqld.cnf            ...

2018-09-15 18:12:30 168

原创 ubuntu安装mysql报错:dpkg: error processing package mysql-server (--configure)

ubuntu安装mysql过程中电脑突然关机,重新安装一直报错:Renaming removed key_buffer and myisam-recover options (if present)Job for mysql.service failed because the control process exited with error code. See "systemctl s...

2018-09-15 18:00:45 6206 1

原创 python算法与数据结构013--二叉树的实现及按先序,后序,中序遍历的递归实现

二叉树的深度优先遍历: (可以用递归或者堆栈实现)先序:根节点->左子树->右子树 中序: 左子树->根节点->右子树 后序:左子树->右子树->根节点二叉树按广度优先遍历:从上到下,从左到右遍历按层次遍历(利用队列实现)class Node(object): """树的节点类""" def __init__(self,data=..

2018-09-15 12:35:13 177

原创 python基础拾遗008--python垃圾回收机制

1.小整数[-5.257)、单个单词、单个字符公用对象。大整数,含空格的字符串不公用内存,引用计数为0,对象被销毁。>>> a = 999>>> b=999>>> a is bFalse>>> a=20>>> b=20>>> a is bT

2018-09-13 11:08:33 125

原创 python算法与数据结构013--二分查找的实现

最优时间复杂度: O(1)最坏时间复杂度:  O(logn)递归实现:#利用递归实现的二分查找def binarySearch(dataList,data,start,end): #在dataList的start,end之间查找数据data的坐标 print("查找范围:---" + str(start) + ":" + str(end)) if start...

2018-09-03 17:49:57 139

原创 python算法与数据结构001--python内置性能分析模块timeit

python内置的计时器模块timeit,能准确的测量小段代码的执行时间。timeit.timeit(stmt='pass',setup='pass',timer=<default timer>,number=1000000)import timeit#python的计时器模块:timeit'''timeit.timeit(stmt='pass', setup='pa...

2018-09-03 16:15:01 155

原创 python算法与数据结构002--利用列表实现栈的功能

class Statck(object): """ 栈:后进先出的数据结构 利用列表实现栈的基本功能。 """ def __init__(self): self.items=[] def push(self,item): """添加新的元素到栈顶""" self.ite

2018-09-03 16:14:52 176

原创 python算法与数据结构003--利用列表实现队列的功能

class Queue(object): """ 队列:先进先出的数据结构 列用列表实现队列的基本功能 """ def __init__(self): #用列表存储队列的数据 self.items=[] def enQueue(self,item): #尾部插入数据 ...

2018-09-03 16:14:45 345

原创 python算法与数据结构011--希尔排序

希尔排序:是插入排序的一种改进版,通过不同的步长,将序列分组,并对每组元素进行插入排序,直到最后步长为1,整个序列排序完成。最优时间复杂度:根据步长不同而不同最坏时间复杂度:O(n²)是不稳定排序,插入排序是稳定的,但是由于希尔排序按照步长对数据分组,有可能相同的数据在不同的组当中顺序会被交换。def shellSort(dataList): #按照升序排序 #...

2018-09-03 16:14:21 141

原创 python算法与数据结构010--快速排序

快速排序:又称划分交换排序,在数列中找到一个基准,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,依次类推,完成所有数据的排序。最优的时间复杂度:O(nlogn)最坏的时间复杂度:O(n²)是不稳定排序""" 快速排序:在数列中找到一个基准,通过一趟排序将要排序的数据分割成独立...

2018-09-03 16:14:05 142

原创 python算法与数据结构009--插入排序

插入排序:通过构建有序序列,对于未排序数据,在已排序序列中,从后向前扫描,找到正确位置插入。最优时间复杂度: O(n)最坏的时间复杂度:O(n²)是稳定排序def insert_select1(data): #插入排序,主要实现原理是构建有序序列。 #本例按升序排列 #新建一个空列表用于存储临时有序序列 data = list(data) ...

2018-09-03 16:13:54 133

原创 python算法与数据结构012--归并排序

归并排序:是采用分治法的典型应用,基本思想是将序列分解成最小,再排序并且合并,依次递归。最优时间复杂度:O(nlogn)最坏时间复杂度:O(nlogn)是稳定排序def mergeSort(dataList): #递归出口 if len(dataList)<=1: return dataList #先分解 length = ...

2018-09-03 16:09:18 159

原创 python算法与数据结构008--选择排序

选择排序:在未排序的序列中,找到最大(最小)的数,与第一个位置的数交换。下次从序列的第二个位置开始,找到最大(最小)的元素,与第二个位置的元素交换。依次类推,得到所有的排序。它的特点是,每次交换数据,至少有一个数放在了争取的位置上。最优的时间复杂度:O(n²)最坏的时间复杂度:O(n²)是不稳定排序def select_sort(data): data = list(da...

2018-09-03 02:06:28 125

原创 python算法与数据结构006--双向链表的实现

双向链表:每个节点有三个单元,previous,data,next。previous指向前驱元素,next指向后继元素,在整个列表中,只有列表头没有前驱,最后一个元素没有后继。class Node(object): """Node节点,previous指向前驱元素,next指向后继元素。 表头无前驱,表尾无后继""" def __init__(self,da...

2018-08-28 22:57:21 127

原创 python算法与数据结构007--冒泡排序

冒泡排序:重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们的顺序交换过来。最优的时间复杂度:O(n)最坏的时间复杂度:O(n²)是稳定排序#冒泡排序:重复的遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们的顺序交换过来。def bubbleSort1(data): #按升序排列列表里的数据 data = list(data) ...

2018-08-28 22:55:40 184

原创 python算法与数据结构005--单向循环链表的实现

class Node(object): """链表节点""" def __init__(self,data,next=None): self.data = data self.next = nextclass SingleCycleList(object): """单向循环链表""" def __init__(sel

2018-08-26 00:13:59 225

原创 python算法与数据结构004--单向链表的实现

单向链表:每一个节点保存自己的数据和一个next变量指向下一个节点。链表本身只需要存取表头即可。class Node(object): """链表节点""" def __init__(self,data,next=None): self.data = data self.next = nextclass SingleLinkedList...

2018-08-25 21:09:19 155

原创 python基础拾遗007--python语言的动态特性

python语言的动态性主要体现在:     **可是给实例添加属性     **可以给实例添加方法    **可以给类添加属性     **可以给类添加类方法或者静态方法先定义一个简单的测试类class Person(object): def __init__(self,name,age): self.name=name self...

2018-08-24 19:09:38 106

原创 python基础拾遗006--装饰器

python里的函数装饰器是利用闭包实现的,实现了对函数功能的补充。def deco(func): def wrapper(): print("---开始装饰函数--") func() print("---结束函数装饰") return wrapper@decodef sayHello(): print("Say ...

2018-08-24 17:33:17 129

原创 python基础拾遗005--闭包

理解闭包之前,先要理解函数引用。在python里面,函数名可以作为函数引用指向函数体。def test_func(): print('say hello')test_func() #调用函数print(test_func) #输出函数test_func的引用b= test_func #将函数引用复制给变量bb()#等价于调用test_func()闭包:内部函数引用外部...

2018-08-24 11:30:07 121

原创 python基础拾遗004--迭代器,生成器

迭代器可迭代对象: 字符串 元组 列表 字典 生成器和带yield的生成器函数。如何判读对象是否可迭代:isinstance(对象,Iterable)如何判读对象是否是迭代器:isinstance(对象,Iterator)如何生成可迭代对象的迭代器:iter(可迭代对象)注意:可迭代对象不一定是迭代器,但是迭代器一定是可迭代对象。from collections impo...

2018-08-24 10:01:23 128

原创 python基础拾遗003--私有化的实现

xx: 公有化变量_x:前面带一个下划线,只是标明是私有属性或者方法,对访问没有影响。__x:避免与子类的属性命名冲突,无法在外部直接访问。(名字被重整成 _className__x)注意:无法再外部直接访问,但是外部可以创建同名的变量。如下。这是新建的变量只属于该示例。class Test(object): def __init__(self): sel...

2018-08-23 17:00:08 147

原创 python基础拾遗002--深拷贝和浅拷贝

在比较深拷贝和浅拷贝之前,要先理解python的可变类型的变量和不可变类型的变量。python中数字,字符串,元组就是典型的不可变类型的变量。对于不可变类型的变量,改变它们的值其实就是在内存中新建了一个变量。如:>>> a=120;b="ACS";c=(11,22,23);print(id(a),id(b),id(c))10923232 140086869042264...

2018-08-22 23:33:08 107

原创 python基础拾遗001-- 模块的导入和==与is的区别

模块导入查看模块导入的查找顺序: import sys; sys.path添加搜索路径: sys.path.append("/pathname")重新加载某个模块: from imp import *; reload(模块名) 循环导入问题:模块之间相互引用,导致引用失败的问题。 ==和is: ==表示值相等,is表示变量指向的引用是同一个。注意整形数字在一定范围内==...

2018-08-22 16:39:56 106

原创 Linux Shell编程006--awk的使用说明

条件操作符: > >= < <= == != ~(匹配) !~(不匹配)逻辑运算符: && || !内置变量:ARGC 命令行参数个数                 ARGV 命令行参数排列                 ENVIRON 支持队列中系统环境变量的使用                 FILENAME 浏览的文件名 ...

2018-08-21 16:24:45 120

原创 Linux Shell编程005--脚本参数的传递

shift n: 参数左移n位getopts:获得多个命令行参数如果shell脚本中需要传递的参数超过九个,可以使用shift和getopts命令辅助实现。shift示例:统计多个文件的行数#!/bin/bash#opt2usage(){ echo "usage:`basename $0` filenames"}totalline=0if [ s# -lt 2 ]...

2018-08-20 23:41:36 155

原创 Linux Shell编程004--shell函数

一、函数的定义      函数名()      {       命令      }      function 函数名()      {      命令      }二、函数的调用,参数的传递类似位置参数。$1-$9#!/bin/bash#myfunfunction hello(){ echo "Hello, Today is `date`" r...

2018-08-20 17:18:35 102

原创 Linux Shell编程003--正则表达式

字符 含义 ^ 匹配行首 $ 匹配行尾 * 匹配0个或多个字符 [] 匹配1个或多个字符序列,加-表示范围 \ 转义特殊字符 . 匹配任意单个字符 pattern\{n\} pattern出现n次 pattern\{n,\} pattern最好出现n次 pattern\{n,m\} pattern出现次...

2018-08-20 16:39:01 157

原创 Linux Shell编程002--控制流结构

一、if语句       语句格式:      if 条件      then      elif 条件      then      else      fi#!/bin/bashecho -n "Please enter your name:"read NAMEecho if [ -z $NAME ]echo $NAMEif [ -z $NAME ...

2018-08-17 19:13:03 156

原创 Linux Shell编程001--修改文件的权限

1. 环境准备 : Linux虚拟机安装,securecrt下载安装2. 文件权限    ls -lh: 查询当前目录下所有文件的权限          -rwxrw-r--:表示这是一个文件,该文件的所有者对它的权限是rwx(可读可写可执行),用户组对它的权限是rw-(可读可写),其他用户对它的权限是r--(只读)       drw-rwx-w-:表示这是一个目录,该文件的...

2018-08-17 19:12:10 5067

原创 Linux搭建PHP网站

1.安装相关软件 php apache mysql mysql-server php-mysql    yum -y install php httpd mysql mysql-server php-mysql   2.启动服务   service httpd start :启动apache服务   service mysqld start :启动mysql服务   mys...

2018-08-03 13:36:20 4355

原创 忘记root密码的情况下修改root的密码

重启虚拟机,在启动界面键入"e"->继续键入"e"->选中第二条数据并键入"e"->输入"空格 + s",然后按回车键 ->继续键入 "e" ->键入 "b"->passwd root修改root的账号密码。在启动界面键入任意"e"。好像键入其他键没有成功。键入键 “e”

2018-08-03 13:35:58 244

原创 Linux虚拟机如何安装虚拟工具

示例:已经在VMWare里面安装了一台Linux的虚拟机,现在需要为虚拟机安装虚拟工具。1)登录虚拟机的桌面,在VMWare里面选中虚拟机,然后在导航栏选择 VM-> Install VMWare Tools。然后虚拟机的桌面就会弹出虚拟工具的光盘。            2)在终端安装虚拟工具     umount /dev/sr0       mount /dev...

2018-08-03 13:35:34 1289

原创 安装Linux Red Hat 6

   1. 网上下载镜像文件 rhel-server-6.2-i386-dvd.iso   2. VMware里面准备一个空的Red Hat 6的虚拟机。新建完成后修改配置,指定ISO文件。           3. 启动虚拟机,进入安装界面。(注意:Next按钮在右下脚,有可能需要选中VMWare右边的下拉框才看得到。)        1)选择 Install or upgrad...

2018-08-03 13:34:33 2489

原创 lc5找回windows账户信息

   示例: 利用lc5获取win server 2003的账户信息。   1.  安装lc5。百度搜索lc5下载安装包,并将lc5安装到win server 2003虚拟机上。   2.  可以用一下命令创建几个待测试的账号        命令行: net user name password /add 创建用户                     net user name...

2018-08-03 13:33:56 1273

原创 hydra实例1

示例: xp上使用hydra爆破windows server 2003的密码。1.开启两台虚拟机,xp和win2003。win2003的登录账号是 administrator/1234562.将在网上下载的hydra包解压并拷贝到xp上。D:\hydra   3.新建password.txt文件,注意文件后缀名是否隐藏。在password.txt文件中准备测试用的密码。    ...

2018-08-03 13:33:40 870

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除