- 博客(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 272
原创 mysql004--关联查询,外键的级联操作,常用内置函数
外键的级联操作:restrict : ( 默认 ) 限制删除,抛出异常 cascade : (级联)如果主键被删掉,则从表中相应的记录也被删掉 set null : 将外键设置为空 no action : 什么都不做关联查询:内连接:只满足连接条件的数据 左连接:满足连接条件的数据和左边剩余的数据 右连接:满足连接条件的数据和右表剩余的数据 外连接:两个表的并集,左连接 U ...
2018-09-17 19:47:29 436
原创 mysql003--查询语句
比较运算符: = > < = <> != >= <=逻辑运算符: and or not模糊查询: like %(任意个字符) _单个字符范围查询: in() , between ... and ...空判断: is null优先级: ()->not->比较运算符->逻辑运算符 (and比or先运算)聚合函数: coun...
2018-09-17 19:47:14 252
原创 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 218
原创 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 189
原创 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 6520 1
原创 python算法与数据结构013--二叉树的实现及按先序,后序,中序遍历的递归实现
二叉树的深度优先遍历: (可以用递归或者堆栈实现)先序:根节点->左子树->右子树 中序: 左子树->根节点->右子树 后序:左子树->右子树->根节点二叉树按广度优先遍历:从上到下,从左到右遍历按层次遍历(利用队列实现)class Node(object): """树的节点类""" def __init__(self,data=..
2018-09-15 12:35:13 202
原创 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 146
原创 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 162
原创 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 179
原创 python算法与数据结构002--利用列表实现栈的功能
class Statck(object): """ 栈:后进先出的数据结构 利用列表实现栈的基本功能。 """ def __init__(self): self.items=[] def push(self,item): """添加新的元素到栈顶""" self.ite
2018-09-03 16:14:52 195
原创 python算法与数据结构003--利用列表实现队列的功能
class Queue(object): """ 队列:先进先出的数据结构 列用列表实现队列的基本功能 """ def __init__(self): #用列表存储队列的数据 self.items=[] def enQueue(self,item): #尾部插入数据 ...
2018-09-03 16:14:45 374
原创 python算法与数据结构011--希尔排序
希尔排序:是插入排序的一种改进版,通过不同的步长,将序列分组,并对每组元素进行插入排序,直到最后步长为1,整个序列排序完成。最优时间复杂度:根据步长不同而不同最坏时间复杂度:O(n²)是不稳定排序,插入排序是稳定的,但是由于希尔排序按照步长对数据分组,有可能相同的数据在不同的组当中顺序会被交换。def shellSort(dataList): #按照升序排序 #...
2018-09-03 16:14:21 161
原创 python算法与数据结构010--快速排序
快速排序:又称划分交换排序,在数列中找到一个基准,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,依次类推,完成所有数据的排序。最优的时间复杂度:O(nlogn)最坏的时间复杂度:O(n²)是不稳定排序""" 快速排序:在数列中找到一个基准,通过一趟排序将要排序的数据分割成独立...
2018-09-03 16:14:05 159
原创 python算法与数据结构009--插入排序
插入排序:通过构建有序序列,对于未排序数据,在已排序序列中,从后向前扫描,找到正确位置插入。最优时间复杂度: O(n)最坏的时间复杂度:O(n²)是稳定排序def insert_select1(data): #插入排序,主要实现原理是构建有序序列。 #本例按升序排列 #新建一个空列表用于存储临时有序序列 data = list(data) ...
2018-09-03 16:13:54 150
原创 python算法与数据结构012--归并排序
归并排序:是采用分治法的典型应用,基本思想是将序列分解成最小,再排序并且合并,依次递归。最优时间复杂度:O(nlogn)最坏时间复杂度:O(nlogn)是稳定排序def mergeSort(dataList): #递归出口 if len(dataList)<=1: return dataList #先分解 length = ...
2018-09-03 16:09:18 180
原创 python算法与数据结构008--选择排序
选择排序:在未排序的序列中,找到最大(最小)的数,与第一个位置的数交换。下次从序列的第二个位置开始,找到最大(最小)的元素,与第二个位置的元素交换。依次类推,得到所有的排序。它的特点是,每次交换数据,至少有一个数放在了争取的位置上。最优的时间复杂度:O(n²)最坏的时间复杂度:O(n²)是不稳定排序def select_sort(data): data = list(da...
2018-09-03 02:06:28 141
原创 python算法与数据结构006--双向链表的实现
双向链表:每个节点有三个单元,previous,data,next。previous指向前驱元素,next指向后继元素,在整个列表中,只有列表头没有前驱,最后一个元素没有后继。class Node(object): """Node节点,previous指向前驱元素,next指向后继元素。 表头无前驱,表尾无后继""" def __init__(self,da...
2018-08-28 22:57:21 143
原创 python算法与数据结构007--冒泡排序
冒泡排序:重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们的顺序交换过来。最优的时间复杂度:O(n)最坏的时间复杂度:O(n²)是稳定排序#冒泡排序:重复的遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们的顺序交换过来。def bubbleSort1(data): #按升序排列列表里的数据 data = list(data) ...
2018-08-28 22:55:40 208
原创 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 248
原创 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 171
原创 python基础拾遗007--python语言的动态特性
python语言的动态性主要体现在: **可是给实例添加属性 **可以给实例添加方法 **可以给类添加属性 **可以给类添加类方法或者静态方法先定义一个简单的测试类class Person(object): def __init__(self,name,age): self.name=name self...
2018-08-24 19:09:38 131
原创 python基础拾遗006--装饰器
python里的函数装饰器是利用闭包实现的,实现了对函数功能的补充。def deco(func): def wrapper(): print("---开始装饰函数--") func() print("---结束函数装饰") return wrapper@decodef sayHello(): print("Say ...
2018-08-24 17:33:17 151
原创 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 138
原创 python基础拾遗004--迭代器,生成器
迭代器可迭代对象: 字符串 元组 列表 字典 生成器和带yield的生成器函数。如何判读对象是否可迭代:isinstance(对象,Iterable)如何判读对象是否是迭代器:isinstance(对象,Iterator)如何生成可迭代对象的迭代器:iter(可迭代对象)注意:可迭代对象不一定是迭代器,但是迭代器一定是可迭代对象。from collections impo...
2018-08-24 10:01:23 144
原创 python基础拾遗003--私有化的实现
xx: 公有化变量_x:前面带一个下划线,只是标明是私有属性或者方法,对访问没有影响。__x:避免与子类的属性命名冲突,无法在外部直接访问。(名字被重整成 _className__x)注意:无法再外部直接访问,但是外部可以创建同名的变量。如下。这是新建的变量只属于该示例。class Test(object): def __init__(self): sel...
2018-08-23 17:00:08 170
原创 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 123
原创 python基础拾遗001-- 模块的导入和==与is的区别
模块导入查看模块导入的查找顺序: import sys; sys.path添加搜索路径: sys.path.append("/pathname")重新加载某个模块: from imp import *; reload(模块名) 循环导入问题:模块之间相互引用,导致引用失败的问题。 ==和is: ==表示值相等,is表示变量指向的引用是同一个。注意整形数字在一定范围内==...
2018-08-22 16:39:56 122
原创 Linux Shell编程006--awk的使用说明
条件操作符: > >= < <= == != ~(匹配) !~(不匹配)逻辑运算符: && || !内置变量:ARGC 命令行参数个数 ARGV 命令行参数排列 ENVIRON 支持队列中系统环境变量的使用 FILENAME 浏览的文件名 ...
2018-08-21 16:24:45 139
原创 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 178
原创 Linux Shell编程004--shell函数
一、函数的定义 函数名() { 命令 } function 函数名() { 命令 }二、函数的调用,参数的传递类似位置参数。$1-$9#!/bin/bash#myfunfunction hello(){ echo "Hello, Today is `date`" r...
2018-08-20 17:18:35 125
原创 Linux Shell编程003--正则表达式
字符 含义 ^ 匹配行首 $ 匹配行尾 * 匹配0个或多个字符 [] 匹配1个或多个字符序列,加-表示范围 \ 转义特殊字符 . 匹配任意单个字符 pattern\{n\} pattern出现n次 pattern\{n,\} pattern最好出现n次 pattern\{n,m\} pattern出现次...
2018-08-20 16:39:01 182
原创 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 183
原创 Linux Shell编程001--修改文件的权限
1. 环境准备 : Linux虚拟机安装,securecrt下载安装2. 文件权限 ls -lh: 查询当前目录下所有文件的权限 -rwxrw-r--:表示这是一个文件,该文件的所有者对它的权限是rwx(可读可写可执行),用户组对它的权限是rw-(可读可写),其他用户对它的权限是r--(只读) drw-rwx-w-:表示这是一个目录,该文件的...
2018-08-17 19:12:10 5226
原创 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 4446
原创 忘记root密码的情况下修改root的密码
重启虚拟机,在启动界面键入"e"->继续键入"e"->选中第二条数据并键入"e"->输入"空格 + s",然后按回车键 ->继续键入 "e" ->键入 "b"->passwd root修改root的账号密码。在启动界面键入任意"e"。好像键入其他键没有成功。键入键 “e”
2018-08-03 13:35:58 275
原创 Linux虚拟机如何安装虚拟工具
示例:已经在VMWare里面安装了一台Linux的虚拟机,现在需要为虚拟机安装虚拟工具。1)登录虚拟机的桌面,在VMWare里面选中虚拟机,然后在导航栏选择 VM-> Install VMWare Tools。然后虚拟机的桌面就会弹出虚拟工具的光盘。 2)在终端安装虚拟工具 umount /dev/sr0 mount /dev...
2018-08-03 13:35:34 1331
原创 安装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 2609
原创 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 1326
原创 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 901
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人