191121-Python 科学计数法误用引起的血案

记录一个代码中误用科学计数法导致所有的数据增大十倍的问题

科学计数法用e表示,后面跟上数字n,表示10的n次方;然后10^8用科学计算法怎么写?

正确写法

1
1e8  # 前面的1不能缺少

错误用法

1
10e8  # 这个实际上是10亿

191104-Python 封装一个通用日志插件

日志对于一个应用程序而言,不可获取;特别是在问题定位,链路分析往往是最直观,最有效的富足工具;所以在python中可以怎样便捷的使用日志模块呢

191015-Python markdown转html

本篇将介绍如何利用python来实现markdown文档转html

1. 依赖安装

我们主要借助 python-markdown这库来实现markdown转html的功能,官方安装教程如下

https://python-markdown.github.io/install/

python的依赖包安装相对简单,直接使用pip

1
pip install markdown

191009-Python之定义函数参数、返回类型

python虽然是一个弱类型的语言,在编码中,不需要特别声明参数类型,然而在实际的场景中,这种不现实指定参数类型经常会带来预期之外的问题,而且编译器还不会提示错误

如果我有一个函数,对参数类型和返回类型都有要求,可以怎么做?

1
2
def 函数名(参数: 参数类型...) -> 返回值类型:
pass

190808-Python CSV读写解决中文乱码问题

一般而言,我并不会直接操作excel文件,如果需要输出表格的时候,我会选择csv文件,用英文逗号来分割不同的单元格;csv文件的优点是简单,文本格式,vim可以直接打开编辑,excel也可以打开可以方便的转换为excel文档;可以说即适合开发人员,也适合给运营同学

然而有个蛋疼的问题,csv文件中文乱码问题,下面记录下,在python中如何解决

190711-Python json格式化输出

使用python来加载or输出json对象属于很方便的操作了,因为官方库中直接集成了对应的操作库,之前说过一篇《Python之json无法序列化部分类型数据问题解决方案》,这里介绍一下另外的一些用法,如何输出格式化的json字符串

190624-python 获取文件大小

记录下在python中获取文件大小的使用方法

1
2
3
4
import os

size = os.path.getsize('/tmp/img/tmp.jpg')
print(size)

输出文件的字节数,单位为B,int型

190617-python 网络请求之certificate verify failed问题处理

在使用python的request库进行网络访问时,当url是一个https的链接,居然没法正常玩耍,直接提示

1
<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1051)>

190603-Python 集合的基本操作

在数学中,集合的一些常见操作,比如交集,并集,差集等在python的集合这个数据结构中,能否完美支持呢?

190525-Python之命令行参数解析getopt使用说明

请求参数解析属于比较常见和基础的操作技能了,如果希望我们的脚本可以在启动时,传入一些参数,来实现不同的环境指定,条件判断等,可以怎么处理呢?

本篇将介绍在python中,如何优雅的使用getopt,来解析我们的命令行参数

190523-Python之json无法序列化部分类型数据问题解决方案

直接使用python的json库,实现对象和json串的互转,一般使用姿势也很简单,然而今天在使用的时候,需要序列化的对象中有datetime类型的对象,结果就抛出了异常TypeError: Object of type datetime is not JSON serializable

1
2
3
4
5
6
7
import json
result = {"hello": "你好", "name": "一灰灰blog"}
str_json = json.dumps(result)
print(str_json)

j_res = json.loads(str_json)
print(j_res)

190429-Python之获取本机ip地址

环境区分,一种常见的case就是根据ip地址段进行界定,通过给开发环境,测试环境和生成环境映射到不同的ip地址段机器,因此也就有了获取ip地址的需求

190424-Python之16进制与10进制转换

最近正好用到了16进制和十进制之间的互转,发现python相比于java而言,有更优雅的实现方式,下面记录一二

16进制转10进制

1
2
s = '0x12da'
ans = int(s, 16)

10进制转16进制

1
ans = hex(120)

190319-Python之URL解析姿势

记录下python3+中,如何解析url,获取想要的信息过程, 首先看下url的构造,基本结构如下

IMAGE

我们主要借助的是 urlparse 来实现参数解析

190318-Python之异常堆栈信息打印

使用python的logging模块进行日志打印,发现堆栈信息总会被吃掉,导致分析问题缺少必要的上下文,搜索一番才发现,原来是使用姿势不对

190211-Python之时间和日期使用小结

对于日期的操作可以说是比较常见的case了,日期与格式化字符串互转,日期与时间戳互转,日期的加减操作等,下面主要介绍下常见的需求场景如何实现

190122-python计算md5的几种方式

计算String/文件的md5属于比较常见的需求;特别是web项目,为了验证客户端上传的东西,通过校验md5来判断参数是否串改,属于常见的手段,下面简单记录下python可以如何计算md5

190114-beautifulsoup4版本不一致导致解析问题

beautifulsoup4 这个用于解析html的包,不同版本的使用姿势问题,导致解析数据异常

190105-Python 搭建私服教程

在python项目中,需要引入第三方的包,可以通过pip很简单的引入;但是有个问题,公司内部的包,也不能发布到pypi仓库吧,所以搭建自己的私服就很有必要了,下面介绍一下基于PypiServer搭建私服的教程

181120-Python之Mysql异步使用篇aiomysql使用小结

db的读写操作可以算是io型,对于简单的sql,获取数据的数据可能远小于传输的时间,针对这种操作,异步的访问方式就比较占优势了。本篇主要介绍在python中如何借助aiomysql来实现db的异步读写

181118-Python之Mysql基本使用篇

I. 基本使用篇

这里主要使用mysql的基本使用姿势,也就是最常见的增删改查,这里主要是使用pymysql这个包来操作

181117-Python异步之asyncio

本篇主要是asyncio这个包的使用,如何使用协程,以及协程和线程可以怎么配合使用,得到更加的使用效果

181117-Python线程与协程

本篇博文主要介绍python中线程与协程的简单使用姿势

181116-Python函数特性

本篇博文主要介绍一些高级的函数特性,如map,reduce,filter,sort,装饰器,lambda等

181114-Python高级特性

python的一些高级特性记录小结,主要就是列表生成是和生成器的使用姿势

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×