自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

彭世瑜的博客

记录我的code历程 个人主页:www.pengshiyu.com

原创 Git:Python代码开发到服务器上测试实践

流程需求 -> 切换到开发分支 -> 开发 -> 到服务器拉取开发分支 -> 测试 -> 合并到主分支具体操作1、开发我接到开发需求,然后从主分支上切出一个开发分支devgit checkout -b dev进行编码后先推到codinggit push -u origin dev2、测试到服务器拉取 dev分支git clone -b ...

2019-05-31 19:56:35 112

原创 Linux: touch新建文件

# 新建文件> touch x.txt> lsx.txt# 新建多个文件> touch {a,b}.txt> lsa.txt b.txt# 新建多个连续文件> touch {1..10}.txt> ls10.txt 2.txt 4.txt 6.txt 8.txt1.txt 3.txt 5.txt 7.txt 9.t...

2019-05-31 10:23:10 309

原创 Linux平台安装MongoDB

下载地址:https://www.mongodb.com/download-center/community选择Linux平台的下载链接一、安装步骤1、下载安装# 1、下载$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz# 2、解压$ tar -zxvf mongodb-linux-x86_...

2019-05-29 14:31:18 1152 4

原创 Linux: 环境变量PATH设置错误的补救

设置完环境变量, 生效source /etc/profile发现普通的系统指令ls都用不了了查看系统变量,果然是设置错了echo $PATH先还原PATHexport PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin再修改 /etc/profile 文件参考linux下环境变量PATH设置错...

2019-05-29 11:16:52 966

原创 Python编程:MySQLdb模块对数据库的基本增删改查操作

安装Python2https://pypi.org/project/MySQL-python/pip install MySQL-pythonPython3https://pypi.org/project/mysqlclient/pip install mysqlclient使用方式和PyMySQL 类似,如果有条件还是优先使用 PyMySQL :可参考:SQL:pymysql...

2019-05-27 16:52:55 292

原创 Python编程:entry_points将Python模块转变为命令行工具

要将python模块转变为命令行工具只用在 setup.py 文件中添加参数entry_points例如:entry_points={ 'console_scripts': [ 'pycase = pycase.case:main' ]}pycase 是自定义的参数,往后看setup.py完整设置:# -*- coding: utf-8 -*-fr...

2019-05-26 23:02:52 1389 2

原创 Python编程:SQLAlchemy查询数据没有变化

遇到一个问题,使用一条相同的sql,多次查询数据库,每次数据都一样,而且数据库更新了,也没有查到新数据经过Google,发现是SQLAlchemy的缓存机制导致的设置隔离级别参数isolation_level 就可以解决engine = create_engine( "'mysql://scott:tiger@localhost/foo'", isolation_level=...

2019-05-23 19:58:28 710 1

原创 linux:find查看最近修改的文件

命令格式:find 路径 -命令参数 [输出形式]需要使用的参数:-ctime -n | +n 按照文件的创建时间来查找文件-n 表示文件创建时间距现在n天以内+n 表示文件创建时间距现在n天以前用法示例:查看根目录/下最近1天增加的文件$ find / -ctime -1 -ls参考linux 如何查看 / 下最近增加的文件...

2019-05-23 18:12:58 5437

原创 Linux:ln创建删除软连接

语法ln (选项) 源文件 目标文件1、区分符号连接 “源文件”可以是文件或者目录硬连接, “源文件”参数只能是文件2、创建软链接ln –s /source /target参数:-s 或——symbolic:对源文件建立符号连接,而非硬连接;3、删除软连接rm –rf /target注意:不要在后文件名后面加斜杆 “/” 否则会删除文件夹的内容参考:ht...

2019-05-22 14:18:50 2259 3

原创 Linux:rsync文件同步

常用指令rsync -avz --progress source/ target/ 注意目录后的斜杆参数解释-v, --verbose 详细模式输出。-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于 -rlptgoD。-z, --compress 对备份的文件在传输时进行压缩处理。--pro...

2019-05-21 12:11:17 1614 13

原创 Python3.6报错:ModuleNotFoundError: No module named 'MySQLdb'

from sqlalchemy import create_engineengine = create_engine('mysql://root:root@127.0.0.1:3306/test?charset=utf8')报错:ModuleNotFoundError: No module named 'MySQLdb'解决方法:MySQLdb只支持Python2.,还不支持3....

2019-05-19 00:14:40 2159 1

原创 Python编程:运行目录或zip压缩文件

1、准备一个项目文件夹 mkdir tmp && cmd tmp2、准备两个文件,主文件__main__.py调用 hello.py# -*- coding:utf-8 -*-# __main__.pyimport helloprint("main")# -*- coding:utf-8 -*-# hello.pyprint("hello")3、运行...

2019-05-17 10:03:31 513 7

原创 Linux:tar指令基本使用

命令格式:tar[必要参数][选择参数][文件] 参数说明$ tar -h第一个选项必须是模式说明符: -c Create -r Add/Replace -t List -u Update -x ExtractCommon Options: -b # Use # 512-byte records per I/O block -f <filename>...

2019-05-16 20:32:58 223 1

原创 Python编程:Python2和Python3环境下re正则匹配中文

1、Python2 下测试中文需要使用\u4e00-\u9fa5 去匹配示例 1: Python 2.7.5 下匹配中文# -*- coding: utf-8 -*-import re# 1、默认字符串对象是ASCII码,不能直接匹配line = "窈窕淑女,君子好逑"# w 包含字符范围:[a-zA-Z0-9_]result = re.match("\w+", line)...

2019-05-16 15:30:20 1085

原创 Python编程:PyThink数据库交互模块提高爬虫编写速度

pythink模块 提供了一些快捷方式,用于数据库的基本增、删、改、查可以让你 如丝般顺滑地向MySQL插入数据安装pip install pythink一、使用方式1、定义数据Model# -*- coding: utf-8 -*-from pythink import ThinkModel, ThinkDatabase# 1、定义数据Model, 定义方式类似peewee...

2019-05-15 16:38:07 240 1

原创 Python编程:glob模块进行文件名模式匹配

文件准备$ mkdir tmp$ cd tmp$ touch file1.txt$ touch file2.txt$ touch file3.log$ lsfile1.txt file2.txt file3.log测试import glob# 使用零个或多个字符通配符 * glob.glob("*.txt")Out[1]: ['file1....

2019-05-15 09:56:52 167 1

原创 Python编程:heapq模块堆排序

堆是一个二叉树,其中每个父节点的值都小于或等于其所有子节点的值。整个堆的最小元素总是位于二叉树的根节点。python的heapq模块提供了对堆的支持。堆数据结构最重要的特征是heap[0]永远是最小的元素代码示例import heapq# 添加元素,容器是list列表,元素存放顺序是小根堆的顺序h = []heapq.heappush(h, 2)heapq.heappush(h...

2019-05-15 09:42:49 160

原创 Python编程:实现消息发布/订阅模型

基本模型:发布者 -> 交换机 <-> 订阅者代码示例# -*- coding: utf-8 -*-# 消息发布/订阅模型from collections import defaultdictfrom contextlib import contextmanagerclass Exchange(object): def __init__(self)...

2019-05-14 19:40:55 1619

原创 PyCharm常用快捷键

图片来源:你有哪些想要分享的 PyCharm 使用技巧?

2019-05-14 19:31:14 320 1

原创 Python编程:abc模块实现抽象类

代码示例# -*- coding: utf-8 -*-import abcclass Animal(abc.ABC): """动物类 抽象类""" @abc.abstractmethod def eat(self): """吃饭饭""" @abc.abstractmethod def sleep(self): ...

2019-05-14 18:26:15 153

原创 Python编程:six库兼容Python 2 和 Python 3

six 它是一个专门用来兼容 Python 2 和 Python 3 的库pip install sixPyPI : https://pypi.org/project/six/文档:https://six.readthedocs.io/github: https://github.com/benjaminp/sixPython 2.7.5>>> import six...

2019-05-12 23:02:42 258

原创 Python编程:TinyDB库MongoBD的简易替代

TinyDB 是一个轻量级的文档数据库,操作类似MongoBD,其存储方式为Json文档:https://tinydb.readthedocs.io/en/latest/index.htmlgithub:https://github.com/msiemens/tinydb代码示例# -*- coding: utf-8 -*-from tinydb import TinyDB, Quer...

2019-05-11 11:46:50 774

原创 Python编程:aiohttp和requests网络io性能比较

使用3种方式 对网络发起10次请求,进行10次耗时测试测试代码# -*- coding: utf-8 -*-import asyncioimport timeimport aiohttpimport requestsurls = ["https://www.baidu.com/"] * 10# 1、直接使用 requestsdef sync_main(): fo...

2019-05-10 23:01:24 2278 2

原创 Python编程:lambda替代品-operator模块

代码中不是很推荐使用 lambda表达式取而代之的是 operator模块,提供了很多简单函数实现求和示例(基于Python3.5.6)# -*- coding: utf-8 -*-import functoolsimport operatorlst = [1, 2, 3, 4, 5]# 使用 lamabdatotal = functools.reduce(lambda x,...

2019-05-10 22:50:33 252

原创 Python编程:pickleDB库Redis的简易替代

pickleDB 是一个轻量简单的 key-value 存储器,操作和redis 很类似可以作为一个不错的工具pickleDB: https://pythonhosted.org/pickleDB/pickleDB github https://github.com/patx/pickledb代码示例# -*- coding: utf-8 -*-import pickledbdb...

2019-05-10 20:15:58 295

原创 Python编程:将驼峰命名转为小写下划线命名

代码如下# -*- coding: utf-8 -*-def get_lower_case_name(text): lst = [] for index, char in enumerate(text): if char.isupper() and index != 0: lst.append("_") lst.app...

2019-05-10 16:58:16 4367

原创 Python编程:实现tail-n查看日志文件

1、函数实现# -*- coding: utf-8 -*-def tail(filename, n=10): with open(filename, "r") as f: lines = f.readlines()[-n:] return "".join(lines)2、测试文件poetry.txt 为了方便验证,每行之前加上行号数字1. 虞美人·...

2019-05-10 14:12:41 486

原创 Python3报错ImportError: No module named pysqlite2

问题刚在 CentOS 上装了 Python3.6.5,运行程序报错ImportError: No module named pysqlite2有人回答import sqlite3可是第三方包我没法修改呀解决安装 sqlite-develyum install sqlite-devel -y重新编译Python,可以指定原来的路径tar -zxvf Python-3....

2019-05-10 11:22:41 2674

原创 Git 切换远程仓库的地址

先删除,再添加# 删除现有远程仓库 git remote rm origin # 添加新远程仓库git remote add origin <url> # 查看远程仓库的地址git remote -v参考git 切换远程仓库地址...

2019-05-10 10:37:23 116

原创 PyCharm快速插入当前时间和日期

方式通过 Live Template 快速添加时间步骤1、添加一个 Template Group 命名为 Common2、添加一个 Live Template 设置如下Abbreviation: timeDescription : current timeTemplate Text: $time$Edit Variables -> Expresssion : date(...

2019-05-10 10:13:11 1927 4

原创 Mac配置gitignore自动生成

文件来源:https://gitignore.io/Mac 配置echo "function gi() { curl -sL https://www.gitignore.io/api/\$@ ;}" >> \~/.bash_profile && source ~/.bash_profile指令# 检查配置是否正确,查看可用的ignore文件$ gi lis...

2019-05-10 09:54:05 585

原创 Python编程:tornado实现WebSocket通讯

以下实例有点像广播通讯,支持多个客户端连接代码参考别人的,稍微做了一点点修改服务器端 websocket_demo.py# -*- coding: utf-8 -*-from __future__ import unicode_literals, print_functionfrom datetime import datetimeimport osimport tornado...

2019-05-09 21:00:09 1584

原创 Python编程:Tornado获取客户端的端口port

还是Google给力self.request.connection.context.addressoutput: ('127.0.0.1', 56209)参考:https://stackoverflow.com/questions/33155831/how-to-get-the-client-port-in-requesthandler

2019-05-09 20:44:16 660

原创 Python爬虫:利用aiowebsocket库抓取WebSocket数据

基本原理1、实现数据实现数据轮询WebSocket拉模式 由客户端主动从服务端拉取数据推模式 由服务端主动将数据推送给客户端aiowebsocket github:https://github.com/asyncins/aiowebsocket2、安装:pip install aiowebsocket实例抓取莱特币官网实时数据 http://www.laiteb.com/刷新页...

2019-05-09 20:23:27 2128

原创 保存微信文章中的图片为jpeg格式

1、随便打开一篇微信文章:https://mp.weixin.qq.com/s?timestamp=1557403533&src=3&ver=1&signature=fNX4GTDkqOtZHoQZ3PptOUiSjaLxH9S99UDRSdhXb6D13i5MGoI1mG08hwOY-sFCzH0v076PAFbN-sAxYL75YAE6gA2uNKotv1QOx28p...

2019-05-09 20:11:58 603

原创 ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed

Python3 ssl请求报错ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failedMac环境解决方式:/Applications/Python\ 3.6/Install\ Certificates.command参考:https://stackoverflow.com/questions/2...

2019-05-09 20:01:01 1545

原创 VS Code使用过程中遇到的一些问题

问题一:vscode 打开新文件覆盖窗口,始终显示一个窗口关闭预览模式"workbench.editor.enablePreview": false,参考 vs Code打开新的文件会覆盖窗口中的,怎么改...

2019-05-09 14:01:49 427

原创 Python编程:使用os.urandom生成Flask的SECRET_KEY

方法比较简单import osimport base64# 生成32位随机字符a = os.urandom(32)# 编码为base64base64.b64encode(a)Out[13]: b'2QDq4HSpT8U4W6iZ2xDzGW3CcY2WVsJXVEwYv0qludY='参考:Flask】一种生成SECRET_KEY的方法...

2019-05-09 10:10:05 819

原创 Python编程:Flask或者Jinja2时间格式化

Jinja2 模板支持python函数,直接使用事件对象的方法 格式化即可# datetime 泛指一个时间对象{{ datetime.strftime("%Y-%m-%d %H:%M:%S") }}

2019-05-08 16:32:48 2326 1

原创 Python编程:使用wkhtmltopdf将html网页转成pdf文件

官网:https://wkhtmltopdf.org/github: https://github.com/wkhtmltopdf/wkhtmltopdfMac环境:brew install Caskroom/cask/wkhtmltopdf测试$ wkhtmltopdf www.baidu.com 1.pdf效果还行,不过部分内容没有被保存linux环境(CentOS)ca...

2019-05-08 11:06:11 1426 1

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