- 博客(65)
- 收藏
- 关注
原创 python递归解压压缩包zip,tar,rar
python递归解压压缩包zip,tar,rar目前代码仅实现了zip递归解包,tar,rar解包和zip解包类似,只用换成tarfile,rarfile模块处理即可# -*- coding: utf-8 -*-# @Time : 2020/10/9 21:50# @Author : cdimport shutilimport zipfileimport osrecursive_unzip_file = []def recursive_unzip(path, zfile):
2020-10-10 00:22:32 1251 1
原创 python观察者模式observe
python设计模式观察者模式observe观察者模式是一个软件设计模式,一个主题对象博包涵一系列依赖他的观察者,自动通知观察者的主题对象的改变,通常会调用每个观察者的一个方法。这个设计模式非常适用于分布式事件处理系统。典型的在观察者模式下:1.发布者类应该包涵如下方法:注册能够接收通知的对象从主对象到注册对象,通知任何变化未注册对象不能够接收任何通知信息2.订购者类应该包...
2019-08-26 22:02:56 808
原创 python一切皆对象
Python从设计之初就是一门面向对象的语言,它有一个重要的概念,即一切皆对象。Java虽然也是面向对象编程的语言,但是血统没有Python纯正。比如Java的八种基本数据类型之一int,在持久化的时候,就需要包装成Integer类对象。但是在python中,一切皆对象。数字、字符串、元组、列表、字典、函数、方法、类、模块等等都是对象,包括你的代码**对象的概念在Python中,定义是...
2019-07-10 22:18:47 306
原创 Python类装饰器
python装饰器(fuctional decorators)就是用于拓展原来函数功能的一种函数,目的是在不改变原函数名(或类名)的情况下,给函数增加新的功能。这个函数的特殊之处在于它的返回值也是一个函数,这个函数是内嵌“原“”函数的函数(1).只要有被类装饰器装饰的对象,类装饰器的 init 函数就会执行(不需要调用)(2).被类装饰器装饰的函数不论被调用几次,init 函数只会执行一次,...
2019-06-12 23:56:37 226
原创 python脚本王者荣耀自动刷金币
基于ADB(Android Debug Bridge)1、下载ADB下载地址下载之后解压文件随便放置到那个文件夹都可以需要将adb.exe所在的文件路径添加到环境变量中在CMD中输入adb显示如下,说明adb没有问题了2、手机进入开发者模式这个进入开发者模式比较简单,自行百度手机如何进入开发者模式打开USB调式,数据线连接电脑,之后就可以进行脚本操作了3、python...
2019-06-12 00:22:55 17407 10
原创 vim多文件操作以及.vimrc配置文件
一、vim支持多文件操作打开多个文件:1.vim还没有启动的时候:在终端里输入vim file1 file2 … filen便可以打开所有想要打开的文件2.vim已经启动输入:open file可以再打开一个文件,并且此时vim里会显示出file文件的内容。同时显示多个文件::split:vsplit在文件之间切换:1.文件间切换Ctrl+6...
2019-05-26 16:59:55 915
原创 vim操作
vim的四种模式一般模式 normal编辑模式 insert命令模式 command可视模式 visual1、Normal 模式vim进入时的默认模式,对于一个编辑器而言,大部分的操作是查看,默认是Normal模式很合理光标移动h 左移l 右移k 向上j 向下w 移动光标到下一个单词开头e 移动光标到下一个单词结尾b...
2019-05-25 23:01:45 197
原创 爬虫抓取天气预报、定时发送给指定微信好友,自动回复
效果展示打包成exe文件之后的效果选择城市选择好友(可以对群组发送消息,群组需要先添加到微信通讯录中)选择发送天气预报的频率选择开启自动回复功能功能实现思路1、爬取天气信息天气信息获取网站:中国天气网http://www.weather.com.cn/ 网站后面拼接上weather/{city_code}.shtml,可以获取到指定城市的天气情况(西安 天气ID...
2019-05-18 11:12:04 2138
原创 Flask集成Markdown文本编辑器
个人兴趣想用Flask实现一个个人博客,富文本编辑器我选择了Markdown文本编辑美观,自己也用习惯了Markdown编辑器1、实现思路:前端加载Markdown编辑器,数据通过POST传数据到后端并存入数据库。后端取出数据,在模板中将Markdown解析为HTML再输出给用户。实现效果(实现的效果是,Markdown图片上传到七牛云)2、官网下载editor.md下载完毕后...
2019-05-13 22:28:46 3166 2
原创 log按照文件大小和时间滚动备份以及颜色输出
# -*- coding: utf-8 -*-# @Time : 2019/3/27 21:52# @Author : cdimport logging# 按文件大小滚动备份from logging.handlers import RotatingFileHandler# 控制台日志输入颜色import colorlogimport timeimport datetim...
2019-05-11 22:34:48 536
原创 Docker Linux Ubuntu系统安装docker
1、安装准备1、内核检查$ uname -a2、检查Device Mapper$ ls -l /sys/class/misc/device-mapper2、Ubuntu中安装Docker的方式1、安装Ubuntu维护的版本1、$ sudo apt-get install docker.io 安装镜像2、$ source /etc/bash_completion.d/...
2019-04-07 09:16:34 197
原创 Nginx代理FTP服务器
项目不大的话我们可以选择ftp+nginx的方式来实现文件服务器<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>{# 可以作为文件服务器...
2019-03-29 23:40:32 22212 1
原创 python连接Docker部署的mysql容器,对mysql操作
上一篇博客写了关于docker中部署的mysql主从数据库,部署之后,最关键的是要应用到实际中python中连接远程docker容器中的MySQL数据库下面演示一下pymysql模块操作数据库# -*- coding: utf-8 -*-# @Time : 2019/3/29 19:20# @Author : cdimport pymysql# 打开数据库连接db ...
2019-03-29 22:56:23 5456
原创 Docker配置mysql主从
拉取mysql镜像docker pull mysql:5.7master3306端口前面的端口是容器映射到宿主机的端口,外部访问端口映射端口是注意端口不要冲突docker run -p 3339:3306 --name main_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7slavedocker run -p 3340:3306 ...
2019-03-29 00:54:21 1257 1
原创 Linux搭建git私人仓库
Linux作服务器,windows作为客户端,都需要安装git1、Linux安装git(我这里用的Ubuntu的系统) Centos 用yum安装apt-get -y install git安装完毕检查git --version服务器创建git用户,来管理git服务器useradd gitpasswd gitWindows安装git自行百度安装Git bash 可以运行Lin...
2019-03-25 23:43:37 2186 3
原创 Linux搭建SVN仓库
SubversionSubversion是一个自由,开源的版本控制系统,这个版本库就像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以很方面恢复到以前的版本,并可以查看数据更改细节。目前,Subversion已成为主流的开源代码版本管理软件之一,简称SVN。SVN相关命令了解svn:命令行客户端svnadmin:用来创建、调整或修复版本库的工具svns...
2019-03-24 22:38:34 2346 1
原创 Linux搭建私人FTP文件存储服务器
1、安装安装 vsftpdsudo apt-get updatesudo apt-get install vsftpd2、 修改配置- /etc/vsftpd.conf- sudo vim /etc/vsftpd.conf# 不允许匿名账号连接 YES NO 大写anonymouss_enable=NO# 允许本地账号连接local_enable=YES# ...
2019-03-24 12:42:05 2376
原创 python_录音_pyaudio
# -*- coding: utf-8 -*-import pyaudioimport numpy as npfrom scipy import fftpackimport wave# 录音# 录音必须安装portaudio模块,否则会报错# http://portaudio.com/docs/v19-doxydocs/compile_linux.htmldef recordi...
2019-03-19 21:40:34 804
原创 smtp python邮件自动发送
smtplib和email,这俩模块是python自带的SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。代码实现 QQ邮箱发送# -*- coding: utf-8 -*-...
2019-03-19 21:30:08 555
原创 服务器部署flask项目
一: 环境:一台服务器二:远程连接服务器三:部署项目需要环境1、首先安装python解释器和pip工具,这个就不多细说2、安装虚拟环境,将项目单独隔离开,python第三方库比较多,有些库可能被弃用,没有维护,全部安装在原生解释器环境,可能导致部分正常库无法使用 sudo pip install virtualenv sudo pip install virtualenvw...
2019-03-01 23:45:11 16311
原创 python_斐波那契多种递归 尾递归,动态规划,循环,装饰器等
1、递归的特点递归算法是一种直接或间接调用自身算法的过程,在计算机编程中,递归算法对解决一大类问题是十分,它往往使算法的描述简洁而且易于理解。递归算法解决问题的特点:(1)递归就是在过程或函数里调用自身(2)在使用递归策略时,必须有一个明确的递归结束条件,称为递归出口。(3)递归算法解题通常显得很简洁,但递归算法解题的运行效率较低,所以一般不提倡用递归算法设计程序。...
2018-12-13 18:50:55 250
原创 python协程
1,多进程的理解多线程和多进程都可以执行多个任务,线程是进程的一部分。线程的特点是线程直接可以可以共享内存和变量,资源消耗较少(Unix环境中,多进程和多线程资源消耗差距不是很大,Unix调度较快),缺点是线程之间的同步和加锁比较麻烦2,python多线程创建在python中,同样可以实现多线程,有两个标准模块thread和threading,一般主要使用更加高级的threadi...
2018-12-11 20:40:46 247
原创 第一个.c文件编译
.c代码#include &amp;lt;stdio.h&amp;gt;#define STRING &quot;hello word\n&quot;int main(){ printf(STRING);}主要步骤1、预编译 pre-processinggcc -E test.c -o test.i2、编译 compilationgcc -S test.i -o test.s
2018-12-04 21:32:19 897
原创 scons-Dir()
1、编译方法返回目标节点列表所有编译方法会返回一个节点对象列表,这些节点对象标识了那些将要被编译的目标文件。这些返回出来的节点可以作为参数传递给其他的编译方法。例如,假设我们想编译两个目标文件,这两个目标有不同的编译选项,并且最终组成一个完整的程序。这意味着对每一个目标文件调用Object编译方法,如下所示:Object('hello.c', CCFLAGS='-DHELLO')...
2018-12-04 21:30:55 689
原创 GCC编译
一、本地编译和交叉编译本地编译简介我们日常常见的软件开发,都是属于本地编译:在当前的PC下,X86的CPU下,当前电脑中运行,此时的编译,可以叫做,本地编译,即在当前目标平台,编译出来的程序,也只是放到当前平台下,就可以运行。交叉编译是一个本地编译,相对应的概念其实交叉编译就是:在一种平台上编译,编译出来的程序,是放到别的平台上运行即编译的环境,和运行的环境不一样,属于交叉的,交叉...
2018-11-04 21:41:24 384
原创 git命令
git工作过程图解Workspace:工作区Index/Stage:暂存区Repository:仓库区(或者本地仓库)Remote:远程仓库一、新建代码库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project_name]拉取代码之前需要配置ssh key下面以码云ssh key配置为例1...
2018-10-24 23:27:57 225
原创 python进程
进程进程:又称重量级进程,正在执行中的程序称为进程。进程的执行会占用内存等资源。多个进程同时执行时,每个进程的执行都需要由操作系统按一定的算法(RR调度、优先数调度算法等)分配内存空间。并行与并发并行:在多核系统中,每个cpu执行一个进程,可以理解为cpu的数大于进程数,所有进程同时进行。并发:在操作系统中同时执行多个进程,可以理解为cpu的数小于进程数,有些进程会没有机会执行。并...
2018-10-16 20:09:16 141
原创 IP地址、子网掩码、默认网关
IP地址、子网掩码、默认网关是什么意思?(一) 问题解析问: IP地址,子网掩码,默认网关,DNS服务器,有什么区别呀?我知道没有IP地址就不能上网,我也知道没设DNS就不能上外网,可它们都有什么功能,有什么区别呢?还有真奇怪,我的计算机没设DNS,竟然能上QQ,却不能打开网页,这是为什么呢?答: IP是32位二进制数据,通常以点分十进制表示。IP地址是一种逻辑地地址,用来标...
2018-10-10 19:51:01 463
原创 python六剑客
python六剑客map、filter、reduce、lambda、切片、推导列表python最有特点的一行代码,所有代码均可以借用一行代码(目标)map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。举例说明,比如我们有一个函数f(x)=x%2,要把这个函数作用在一个list [1, 2, 3, 4, 5, 6, 7...
2018-10-09 22:44:35 355
原创 linux下查看进程启动、运行的时间等命令
可通过ps 来查看,通过参数 -o 来查看ps -eo pid,tty,user,comm,lstart,etime | grep redis参数说明:pid:进程IDtty:终端user:用户comm:进程名lstart:开始时间etime:运行时间运行结果如下:ps aux、ps -aux、ps -ef之间的区别df -hdu -h –ma...
2018-10-04 00:54:41 64183
原创 Linux系统下查看python解释器安装路径
先进入python输入import syssys.executable打印结果'usr/bin/python'
2018-10-04 00:27:12 4651
原创 python开发ftp服务器(pyftpdlib)
ftp服务器的本质还是利用socket编程来实现,只不过遵循特定的协议RFC959开源的库pyftpdlib,可以轻松实现安装pip install pyftpdlib,使用pycharm#coding:utf-8from pyftpdlib.authorizers import DummyAuthorizerfrom pyftpdlib.handlers import FTPHan...
2018-09-28 21:42:16 2017 1
原创 python-argparse模块使用
argparse使用简介python的argparase主要用来解析参数,比较方便可以解析可选参数或者必选参数简单示例创建ArgumentParser()对象调用add_argument()方法添加参数使用parse_args()解析添加的参数example:import argparse# 创建对象parser = argparse.ArgumentParser(...
2018-09-26 22:28:07 1304 1
原创 MySQL、Redis、MongoDB区别
MySQL 关系型数据库mysql数据和索引都存放在硬盘中。到要使用的时候才交换到内存中,能够处理远超过内存总量的数据。关系型数据库在不同的引擎上有不同的存储方式查询语句是使用传统的SQL语句,拥有较为成熟的体系,成熟度高开源数据库的份额在不断增加,MySQL的份额也在持续增长缺点就是海量数据处理的时候效率显著变慢Redis 非关系型数据库内存数据库持久化: ...
2018-09-23 17:37:45 860 1
原创 python赋值、浅拷贝和深拷贝
python赋值、浅拷贝和深拷贝区别1.赋值: 只是复制了新对象的引用,不会开辟新的内存空间。2.浅拷贝: 创建新对象,其内容是原对象的引用。浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数。如: lst = [1,2,3,[4,5]]切片操作:lst1 = lst[:] 或者 lst1 = [each for each in lst]工厂函数:lst1 = lis...
2018-09-20 22:28:04 162
原创 python中四种交换两个变量的值的方法
python中四种交换两个变量的值的方法方法一:通过中间变量的方式,交换数值def swap(a, b): temp = a a = b b = temp print(a, b)方法二:python特有方法直接将a, b两个变量放到元组中,再通过元组按照index进行赋值的方法进行重新赋值给两个变量。def swap(a, b): a, b = b, a pri...
2018-09-20 21:27:25 2453
原创 编程语言分类:弱类型、强类型、动态类型、静态类型
动态语言和静态语言(1)动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。(2)静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据...
2018-09-19 20:10:09 560
原创 Django REST framework 个人小解
1,认识RESTful在前后端分离模式,后端API接口如何定义?后端数据库中保存了商品的信息,前端可能需要对商品数据进行增删改查,那相应的每个操作后端都需要提供一个API接口: POST/add-goods 增加商品POST /delete-goods 删除商品POST /update-goods 修改商品GET /get-goods 查询商品信息普遍采用的API的REST...
2018-09-17 20:24:17 326
原创 文件句柄
python文件管理一.文件处理流程1,打开文件,得到文件句柄并赋值给一个变量2,通过句柄对文件进行操作3,关闭文件二.基本操作打开模式 文件句柄 = open(‘文件路径’, ‘模式’, 指定编码) 打开文件的模式有: r ,只读模式【默认模式,文件必须存在,不存在则报错】 w,只写模式【不可读;不存在则创建;存在则清空内容】 x, 只写模式【...
2018-09-16 21:56:41 3674 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人