
随笔
梅山学子
技术是一层窗户纸!个人博客 www.leontom.com
展开
-
echarts
var option={ tooltip: { trigger: 'axis', axisPointer: { type: 'none' }, formatter:'{b}:{c}%' }, xAxis: { type: 'value', show:false, min:0, max:100, }, grid: { height:'60%', width:'75%', top:'20%'...原创 2022-09-01 16:49:44 · 501 阅读 · 1 评论 -
python 多列表打包成一个列表组
python 多列表打包成一个列表组zip, zip_longest 均为内置函数,无需另外安装from itertools import zip_longestlist1 = [1, 2, 3]list2 = ['a', 'b', 'c']list3 = ['E', 'F']# 1.list长度相等zipped12 = zip(list1, list2)print(list(zipped12))#>> [(1, 'a'), (2, 'b'), (3, 'c')]原创 2020-11-15 11:50:17 · 1470 阅读 · 0 评论 -
虚拟机centos7 增加Pycharm快捷键到桌面
1、vi /usr/share/applications/pycharm.desktop 编辑如下: #!/usr/bin/env xdg-open [Desktop Entry] Encoding=UTF-8 Name=pycharm Comment=pycharm-community Exec=/home/kang/Programs/pycharm-2020.1.4/bin/pycharm.sh Icon=/home/kang/Progra...原创 2020-08-17 20:00:40 · 724 阅读 · 0 评论 -
虚拟机centos7增加多网段配置
1.修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-ens33# ---内容如下TYPE="Ethernet"BOOTPROTO="static"DEFROUTE="yes"PEERDNS="yes"PEERROUTES="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_PEERDNS="yes"IPV6_PEER...原创 2020-08-17 19:59:14 · 1708 阅读 · 0 评论 -
python 将字典中的None替换为代引号的null
业务需求:将字典中None替换为字符串‘null’import jsond = {"name":None}s = json.dumps(d)s = s.replace('null', '\"null\"')d = json.loads(s)print(d)>> {'name':'null'}...原创 2020-04-09 18:34:29 · 4481 阅读 · 4 评论 -
python 虚拟环境迁移
需求:将本地项目虚拟环境迁移到无网的环境下安装同样的虚拟环境1.进入本地虚拟环境: source venv/bivn/activate2.执行命令: pip freeze > requirements.txt3.在开发环境先下载好离线包: pip download -d your_offline_packages -r req...原创 2020-02-29 21:27:48 · 340 阅读 · 0 评论 -
CentOS7查看开放端口命令及开放端口号
查看已开放的端口firewall-cmd --list-ports开放端口(开放后需要要重启防火墙才生效)firewall-cmd --zone=public --add-port=3338/tcp --permanent重启防火墙firewall-cmd --reload关闭端口(关闭后需要要重启防火墙才生效)firewall-cmd --zone=public --...原创 2020-02-14 13:41:43 · 4684 阅读 · 0 评论 -
django templates浮点型数据转int
testnum = 3.14<td>{{ testnum|floatformat:"0" }}</td>#展示结果为 3原创 2019-11-30 21:09:44 · 769 阅读 · 0 评论 -
kubectl pod基本操作命令
测试名词: 容器id:775c7c9ee1e1, 命名空间:namespace-test , pod名称:pod-test# 进入容器$ sudo docker ps $ sudo docker exec -it 775c7c9ee1e1 /bin/bash # 查看日志docker logs -f 775c7c9ee1e1# 筛选查看容器kubectl get po...原创 2019-11-30 19:52:59 · 4734 阅读 · 0 评论 -
Requests/HttpRunner 多文件上传/上传文件重命名
1.Requets 多文件上传 1.1 在requests中发送文件的接口只有一种,那就是使用requests.post的files参数, 请求形式如下: url = "http://leontom.com/post" data = None files = { ... } r = requests.post(url, data, files=files)...原创 2019-06-11 13:55:27 · 2282 阅读 · 0 评论 -
Python ValueError: unexpected '{' in field name
s = '[{0},{open({1},r)},{2}]'.format('a', 'b', 'c')print('--s--', s) 错误: Traceback (most recent call last): File "D:/Work/test2.py", line 12, in <module> ...原创 2019-06-10 14:32:57 · 10200 阅读 · 0 评论 -
python常用加解密(MD5 , Base64 , AES , RSA)
安装包 pip install pycryptodome==3.8.1直接上代码(加密类Encrypts, 解密类Decrypts)import hashlibimport osfrom Crypto.Cipher import AESimport base64from binascii import b2a_hex, a2b_hexfrom Crypto impo...原创 2019-06-06 17:45:22 · 5827 阅读 · 0 评论 -
git拉取远程分支、合并、更改用户名等命令
摘要:基本命令 分支创建删除 拉取远程分支 合并 更改用户名/邮箱1.基本命令 git init # 初始化 git remote add origin ssh://git@gitlab.xxx.com.cn:2222/devcloud_web.git # 建立连接 git add test.html # 添加文件 git commit -m ‘add...原创 2019-09-30 11:32:23 · 1974 阅读 · 0 评论 -
将json数据中value值替换为不带引号的数值
import reimport jsondic = {"key": "num"}json_data = json.dumps(dic)print('替换前:', json_data)new_num = 11111111regex = re.compile(r'"num"', re.S)json_data = re.sub(regex, str(new_num), json_da...原创 2019-06-06 17:28:08 · 4223 阅读 · 1 评论 -
完整文件路径中获取文件目录和文件名
import osfile_path = 'D:\\Work/test.txt'file_dir = os.path.dirname(file_path)file_name = os.path.basename(file_path)print("文件目录:", file_dir)print("文件名:", file_name)>> 文件目录: D:\Work>&...原创 2019-07-12 20:00:20 · 4323 阅读 · 0 评论 -
git pull 冲突解决
从远程拉取分支代码出错:解决方式: 丢弃本地冲突文件,直接用远程代码覆盖本地git checkout [冲突文件]例:git checkout automate_uitest_py3/settings_sit.py ...原创 2019-07-27 14:32:16 · 227 阅读 · 0 评论 -
Minio文件服务使用API文档-Python
文章目录1.安装包2.建立连接3.操作存储桶(文件夹)3.1创建桶3.2判断桶存在3.3删除桶4.操作文件对象4.1 下载文件4.1.1 获取文件数据4.1.2 直接下载到本地指定目录:4.2上传文件4.2.1以数据流格式上传4.2.2 以文件路径上传4.3删除文件4.4 删除多个文件5.问题:6.解决:1.安装包 pip install minio 官方API文档链接:https://ww...原创 2019-09-27 08:50:44 · 11587 阅读 · 3 评论 -
将list中的dict去重
问题: 将如下所示的 List 中 dict去重 data = [{"id":1, "name":"kk"},{"id":2, "name":"leontom"},{"id":1, "name":"kk"}]解决:from functools import reducelist_data = reduce(lambda x, y: x if y in x...原创 2019-09-30 15:50:26 · 2121 阅读 · 0 评论 -
Python时间time、datetime、date之间转换,获取今天、昨天、上周、上月、去年的时间
一、time、datetime、date之间转换概念: 首先需要理解三个名词: 时间戳(int), 时间数组, 日期格式(str)utc time : 国际时间(伦敦时间)localtime: 本地时间时间(如北京时间 = 伦敦时间 + 8小时)国际时间获取: time.gmtime() datetime.datetime.utcnow()本地时间获取: time.lo...原创 2018-10-31 17:17:23 · 17579 阅读 · 0 评论 -
Django Mysql 试图
需求: Django ORM 调用mysql中的试图表1. mysql创建试图 (关联多张表,形成一张虚拟表)CREATE VIEW v_test as select tb_user.id user_id, tb_user.name user_name, tb_class.name class_name from tb_user, tb_class where tb_user.clas...原创 2019-06-06 16:59:04 · 297 阅读 · 0 评论 -
Drf 序列化 ModelSerializer跨表取数据
Drf 序列化 ModelSerializer跨表取数据1、对于OneToOne、Foreignkey、choices字段可以使用source取出相关信息:class CourseSerializer(serializers.ModelSerializer): # choices字段 degree = serializers.CharField(source='get_d...原创 2019-05-24 15:35:18 · 2564 阅读 · 1 评论 -
12小时制转24小时制
将12小时转化为24小时制12小时制的 12:50AM 对应 24小时制的 00:5012小时制的 12:50PM 对应 24小时制的 12:50def func(s): w = s[-2:] h = int(s[:2]) T = None if w.lower() == "am": if h == 12: h = ...原创 2018-12-25 11:40:47 · 3958 阅读 · 0 评论 -
Python获取文件编码类型
import chardet# 获取文件编码类型def get_encoding(file): # 二进制方式读取,获取字节数据,检测类型 with open(file, 'rb') as f: data = f.read() return chardet.detect(data)['encoding']file_name = 'AA...原创 2018-12-21 16:59:31 · 11423 阅读 · 3 评论 -
python装饰器Django类视图装饰
装饰器一、python装饰器1、简易装饰器(无参数,无返回值)2、装饰器(无参数,有返回值)3、装饰器(有参数,有返回值)4、类装饰器二、Django类视图使用装饰器1、为全部请求方法添加装饰器2、为特定请求方法添加装饰器2.1 特定方法添加装饰(方式一)2.2 特定方法添加装饰(方式二)一、python装饰器1、简易装饰器(无参数,无返回值)def decorator01(func): ...原创 2018-12-07 17:36:50 · 1738 阅读 · 1 评论 -
判断mysql表格是否存在,并新建表格
连接数据库 connection = pymysql.connect( host=host, user=username, password=password, charset='utf8', db=db_name)1. 判断数据库中表格是否存在 def table_exists( table_name): """判断表是否存在""" c...原创 2018-07-18 15:24:27 · 2830 阅读 · 0 评论 -
pymongo 模块获取当前数据库下的所有collection名称
问题描述:连接mongdb指定数据库后,获取所有集合名称注意:# pymongo 3.6 使用collection_names( include_system_collections=True, session=None)# pymongo 3.7 使用list_collection_names(session=None)from pymongo import MongoClien...原创 2018-10-19 09:43:43 · 14780 阅读 · 0 评论 -
python 字典赋值、浅拷贝、深拷贝
# 项目开发中,因字典可修改,所以注意拷贝方式import copy1. 原字典操作dict1 = {'user': 'test', 'num': [1, 2, 3]} # 原字典dict2 = dict1 # 直接赋值dict3 = ...原创 2018-09-18 17:40:36 · 16278 阅读 · 11 评论 -
pymysql索引操作
主题:mysql表格已经创建好后,索引的操作1.查看索引: show index from 表名;2.创建索引: create index 索引名 on 表名(字段名(长度));3.删除索引: drop index 索引名 on 表名;代码示意如下:import pymysqlconn = pymysql.conn...原创 2019-01-10 16:12:22 · 1045 阅读 · 0 评论 -
mongo中insert()和save()的区别
insert() 和 save()的区别 1.区别一: insert()直接往库中插入数据,不更新已存在的重复数据。 save() 往数据库插入数据时,会更新重复的数据。 2.区别二: insert() 可以直接插入一个列表,无需遍历,效率高。 save() 不能直接插入列表,需要遍历列表,逐一插入。 PS: 需求: 将表中所有 姓名(name...原创 2019-01-11 16:36:25 · 3330 阅读 · 0 评论 -
python3从url中获取域名 和 path
获取url中 域名等信息urllib是内置模块from urllib.parse import urlparse url='http://www.leontom.cc/post/719.html'res=urlparse(url)print("返回对象:", res)print("域名", res.netloc) ----------打印结果----------------...原创 2019-04-25 17:47:28 · 11110 阅读 · 0 评论 -
Python替换字符串中的反斜杠\
Python替换字符串中的反斜杠\s = 'cdp\nd'result = eval(repr(s).replace('\\', '@'))print(result)repr() 函数可以将字符串转换为python的原始字符串(即忽视各种特殊字符的作用)然后再使用eval() 函数将原始字符串转换为正常的字符串,不使用eval 输出的字符串会带有 ' ' 引号。str() ...原创 2019-04-30 10:01:51 · 20269 阅读 · 3 评论 -
django rest framework
1, 序列化 Serialization创建一个新环境在做其他事之前,我们会用virtualenv创建一个新的虚拟环境。这将确保我们的包配置与我们正在工作的其他项目完全隔离。virtualenv env # 创建虚拟环境,命名: envsource env/bin/activate # 进入虚拟环境env既然我们已经在虚拟环境中,那么我们就可以安装我们依赖的包了。...转载 2019-04-09 11:42:06 · 550 阅读 · 0 评论 -
python模块之configparser
python模块之configparserhttps://docs.python.org/3/library/configparser.htmlconfigparser用于处理特定格式的文件,其本质上是利用open来操作文件。规定格式1、获取所有节点import configparser config = configparser.ConfigParser()conf...转载 2019-04-06 16:58:20 · 16836 阅读 · 0 评论 -
Python模块、包、库的概念理解
主题:Python模块、包、库区分1. 模块: 单个.py文件;模块能定义函数、类、变量,模块内可以包含可以执行的代码。2. 包: 文件夹,必须存在__init__.py文件,是模块和子包的集合体。3. 库: 具有相关功能模块的集合; 3.1 标准库: python自带,无需额外安装。 3.2 第三库: 由其...原创 2019-01-21 10:56:54 · 4626 阅读 · 2 评论 -
pymongo处理ObjectId,datetime无法转为json
数据格式示意: {'_id': ObjectId('5c3bfce19e8cc51348d6dcf8'), 'name': 'kk', 'time': datetime.datetime(2019, 1, 14, 3, 7, 13, 465000)}问题: mongodb中的ObjectId , datetime无法转化为json格式?解决思路: 将ObjectId, dat...原创 2019-01-14 11:03:06 · 2251 阅读 · 0 评论 -
并发并行一同步异步一阻塞非阻塞
并发并行 - 同步异步 - 阻塞非阻塞1.并发并行2.同步异步3.阻塞非阻塞1.并发并行并发:交替做不同的事情并行:同时做不同的事情举例:&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&a原创 2019-01-08 09:42:06 · 365 阅读 · 0 评论 -
python高阶函数
高阶函数1.map()用法:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; list(map(fn, []))说明:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;原创 2019-01-07 16:41:27 · 253 阅读 · 0 评论 -
requests简单使用随笔
为防止服务器不能及时响应,发至外部服务器的请求都应该带着 timeout 参数。在默认情况下,除非显式指定了 timeout 值,requests 是不会自动进行超时处理,代码可能会挂起若干分钟。连接超时一般设置为5秒,因为 TCP 数据包重传窗口 的默认大小是 3秒。如果发现设置timeout=5后长时间不响应问题依然存在,可以将timeout里的参数细化 timeout=(3,7...原创 2018-09-11 17:29:59 · 340 阅读 · 0 评论