![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 53
笔记,记录一些平常遇到的Bug
YUAYU-
坚决、果断、never give up
展开
-
MySQL 字符串的排序规则解析
MySQL 字符串的排序规则解析。原创 2023-01-09 15:29:52 · 4082 阅读 · 1 评论 -
Python + LDAP + TSL/SSL 跳过SSL验证
修改配置文vim /etc/sysconfig/slapd重启服务systemctl restart slapd查看端口启用没有python shell 测试连接import ldapldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)ldapconn = ldap.initialize('ldaps://IP:636')ldapconn.set_option(ldap.OP.原创 2022-01-06 17:52:28 · 1357 阅读 · 2 评论 -
python 斐波那契数列 + 尾递归
普通递归def fibonacci_fast(n): if n <= 1: return n else: return(fibonacci_fast(n - 1) + fibonacci_fast(n - 2))print(fibonacci_fast(10))def fibonacci_fast_2(n): a, b = 0, 1 for _ in range(n): a, b = a + b, a原创 2021-04-26 20:45:09 · 272 阅读 · 1 评论 -
python 测试函数运行时间装饰器
import timeimport functoolsdef clock(func): @functools.wraps(func) def clocked(*args, **kwargs): t0 = time.time() result = func(*args, **kwargs) elapsed = time.time() - t0 name = func.__name__ print('[%0.8原创 2021-04-26 17:00:28 · 230 阅读 · 0 评论 -
python 将字符串解释为布尔值
import sixTRUE_STRINGS = ('1', 't', 'true', 'on', 'y', 'yes')FALSE_STRINGS = ('0', 'f', 'false', 'off', 'n', 'no')def bool_from_string(subject, strict=False, default=False): """Interpret a string as a boolean. A case-insensitive match is perf原创 2021-04-08 14:59:53 · 386 阅读 · 0 评论 -
python 迭代对象、迭代器大解析
迭代对象结论:1、 拥有__iter___() 方法items_lis = [1,2,3]items_str = 'hello world'from collections.abc import Iteratorfrom collections.abc import Iterableprint(isinstance(items_lis, Iterable)) # True 迭代对象print(isinstance(items_lis, Iterator)) # False 迭代器原创 2021-03-19 00:12:38 · 357 阅读 · 0 评论 -
OpenStack 功能组件
文章目录OpenStack 主要功能组件表示层 Presentation逻辑控制层 Logic Control资源管理 Resources集成层 Integration管理层 ManagementHorizon -- UI服务Keystone -- 身份服务Nova -- 计算服务Glance -- 镜像服务Cinder/Swifty -- 存储服务Neutron -- 网络服务Heat -- 编排组织服务Ceilometer -- 监控计量服务组件的流程关系OpenStack 主要功能组件表示层 P原创 2021-01-26 15:22:38 · 534 阅读 · 0 评论 -
ElasticSearch 报错 The bulk request must be terminated by a newline [\\n]“ (postman测试)
注意:最后得空一行{"index": { "_index": "people"}}{"name":"嬴政","country":"China","age":60,"date":"1988-03-07","sex":"male"}{ "index": { "_index": "people"}}{"name":"刘备","country":"China","age":80,"date":"1828-03-07","sex":"male"}{ "index": { "_index": "people"原创 2021-01-05 16:09:36 · 2839 阅读 · 0 评论 -
django 配置数据库连接 __init__.py
import pymysqlpymysql.install_as_MySQLdb()原创 2020-12-28 17:49:32 · 694 阅读 · 3 评论 -
python GIL 小记
什么是GLI?Python中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用。为了支持多线程机制,一个基本的要求就是需要实现不同线程对共享资源访问的互斥,所以引入了GIL。由于GLI的存在,一个线程拥有了解释器的访问权之后,其他的所有线程都必须等待它释放解释器的访问权,即使这些线程的下一条指令并不会互相影响。在调用任何Python C API之前,都要先获得GIL。GLI特点缺点:多处理器退化为单处原创 2020-12-23 13:28:26 · 104 阅读 · 0 评论 -
Nginx 静态文件访问
图片路径:/root/large_img/zhengshunginx.confserver { listen 8080; server_name localhost; location ~/group([0-9])/M00 { ngx_fastdfs_module; } location ~(ope|permit|cars|zhengshu) { ro原创 2020-12-18 16:15:30 · 178 阅读 · 1 评论 -
python 批量给字典赋值,更新字典
new_seq = {'Google': '', 'Runoob': '', 'Taobao': ''}a = ['google','runoob','taobao']c = dict(zip(new_seq.keys(),a))print(c)# {'Google': 'google', 'Runoob': 'runoob', 'Taobao': 'taobao'}原创 2020-12-18 13:24:51 · 13122 阅读 · 5 评论 -
pymysql format 注入
sql = "SELECT * FROM dj_users WHERE userName='{}' and name='{}'".format("kefu1245165","asd' or '1'='1")SELECT * FROM dj_users WHERE userName='kefu12' and name='asd' or '1'='1'原创 2020-12-10 19:13:40 · 381 阅读 · 0 评论 -
python 编辑 9*9 乘法表
for i in range(1, 10): for j in range(1, i+1): print(str(j) + '*' + str(i) + '=' + str(i*j), end='\t') print()print('-' * 30)原创 2020-12-01 15:32:03 · 135 阅读 · 0 评论 -
记录 self.db.ping(True) 妙处
import pymysqlimport timeclass Test(): def __init__(self): self.db = pymysql.connect('182 ip ', 'root', '密码', 'test', charset='utf8') def save(self): self.db.ping(True) print('存数据') time.sleep(1) self.db.原创 2020-11-19 11:56:16 · 587 阅读 · 1 评论 -
Docker 部署 Django 个人笔记 更新ing
学习网站:1. Docker 从入门到实践 2. Docker 版 Django 3. Docker 思维导图,提取码:8888Django:项目文件目录:项目文件进入项目文件得知,requirements.txt 与 Dockerfile 同级查看 Dockerfile然后在 Dockerfile 所在的文件夹下,运行docker build -t my_django/python3 .然后就是各种下载,安装,最后:根据Dockerfi原创 2020-11-10 22:27:47 · 164 阅读 · 0 评论 -
Python 逆转矩阵
l = [[1,2,3],[4,5,6],[7,8,9]]def rotate(matrix): # 逆时针旋转矩阵 row = len(matrix) col = len(matrix[0]) # 存放旋转后的矩阵 new_matrix = [] # 行列调换 for i in range(col): new_line = [] for j in range(row): new_line.a原创 2020-11-05 17:47:22 · 823 阅读 · 0 评论 -
python 使用 ffmpeg 合并音频+视频
import subprocessdef video_add_mp4(file_name,mp4_file): outfile_name = file_name.split('.')[0] + '-new.mp4' cmd = f'F:\\FFmpeg\\bin\\ffmpeg -i {mp4_file} -i {file_name} -acodec copy -vcodec copy {outfile_name}' print(cmd) subprocess.call(原创 2020-11-04 16:24:01 · 8127 阅读 · 3 评论 -
python 的 maketrans & translate 文本字符串替换
import stringtext = ("g fmnc wms bgblr rpylqjyrc gr zw fylb. rfyrq ufyr amknsrcpq ypc" "dmp. bmgle gr gl zw fylb gq glcddgagclr ylb rfyr'q ufw rfgq rcv" "r gq qm jmle. sqgle qrpgle.kyicrpylq() gq pcamkkclbcb. lmu ynnj" "w ml rfc sp原创 2020-10-16 14:40:54 · 674 阅读 · 0 评论 -
Pandas.read_html() 获取静态网页表格数据
import pandas as pddf = pd.read_html("http://www.air-level.com/air/xian/", encoding='utf-8', header=0)[0]df.to_csv('xian_tianqi.csv', index=False)参考1:参考2:原创 2020-09-28 14:13:45 · 359 阅读 · 0 评论 -
sqlalchemy 出现 UnicodeEncodeError: ‘charmap‘ codec can‘t encode characters in position 0-3: character
在数据库的后面加上 : ?charset=utf8原创 2020-09-25 14:54:13 · 997 阅读 · 1 评论 -
python List 列表去重方法及效率
1、直观方法li=[1,2,3,4,5,1,2,3]new_li=[]for i in li: if i not in new_li: new_li.append(i)print(new_li)总结:这样可以做出来,但是效率不行。但是此方法保证了列表的顺序性。2、利用set的自动去重功能li=[1,2,3,4,5,1,2,3]li=list(set(li))print(li)将列表转化为集合再转化为列表,利用集合的自动去重功能。简单快速。缺点是:使用set方原创 2020-09-06 12:04:21 · 618 阅读 · 0 评论 -
pymysql.err.InterfaceError: (0, ‘‘) 数据库连接超时
发现问题1、我在做爬虫,定时往数据库存数据的时候,出现这个错误,pymysql.err.InterfaceError: (0, ‘’)2、你在网上看到的原因是,超过8小时没有操作MySQL连接时,MySQL会自动断开连接。推荐的方法是使用db.ping(),也就是说,在每次执行查询或插入相关操作时,通常检查数据库连接,如果断开连接,则重新连接。解决问题1、在 pymysql 创建的数据库连接对象下,有这么一个方法:ping(),直接进去查看源码。 def ping(self, reconn原创 2020-08-31 10:06:29 · 1829 阅读 · 0 评论 -
Python response[‘Content-Disposition‘] = “attachment;filename={}“ 中文乱码
from django.utils.encoding import escape_uri_pathfrom django.utils.http import urlquote response = HttpResponse(file_stream)file_name = '{}'.format(filename) + '.xlsx' # file_name下载下来保存的文件名字print('file_name:', file_name)response['Content-Type'] = '原创 2020-08-27 13:42:43 · 4663 阅读 · 1 评论 -
Python 使用 pyecharts 绘制地图
1、获取经纬度 – 高德地图首先使用高德地图提供的,路线规划API,我选择的是货车。获取方式:看提供的API接口,货车的接口如下:https://restapi.amap.com/v4/direction/truck?width=2.5&strategy=5&size=2&weight=10&axis=2&origin=116.349845,39.932893&destination=105.737597,34.578956&heig原创 2020-08-25 17:07:27 · 2664 阅读 · 0 评论 -
Python3关于String模块(import string)
String中定义的一些属性1 、string模块中定义了一些常用的属性(包含所有数字,字母,可打印的所有ascii码等)import stringprint(string.ascii_letters) # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'print(string.ascii_lowercase) #...原创 2020-01-17 14:48:07 · 7417 阅读 · 1 评论 -
Python简单的新闻内容获取
简单的新闻内容获取(爬虫)1、网址:http://www.mot.gov.cn/jiaotongyaowen/index.html,只爬取第一页内容2、确定所需内容,提前写好xpath格式进行匹配3、所需模块如下,都用 pip3 install 模块名4、小白,初次写博客,多多包涵,互相学习import pymysqlimport randomimport timeimport r...原创 2020-01-16 17:33:44 · 957 阅读 · 0 评论 -
Python 返回函数,闭包,装饰器
文章目录一、闭包代码:二、装饰器一、闭包首先,学习装饰器要了解什么是闭包!闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组合可以产生不同的实例。emmm,简单来说,闭包的组成:1、外函数2原创 2020-05-09 10:00:40 · 205 阅读 · 0 评论 -
Python关于定时任务
Python实现定点与定时任务方式比较多,找到下面四中实现方式,每个方式都有自己应用场景;下面来快速介绍Python中常用的定时任务实现方式:1.循环+sleep;2.线程模块中Timer类;3.schedule模块;4.定时框架:APScheduler文章目录一、循环 + sleep二、线程模块中Timer类三、schedule模块四、定时框架:APScheduler一、循环 + s...原创 2020-04-27 00:06:58 · 618 阅读 · 0 评论 -
Python的垃圾回收机制及循环引用
引用计数Python语言默认采用的垃圾收集机制是『引用计数法 Reference Counting』,该算法最早George E. Collins在1960的时候首次提出,50年后的今天,该算法依然被很多编程语言使用,『引用计数法』的原理是:每个对象维护一个ob_ref字段,用来记录该对象当前被引用的次数,每当新的引用指向该对象时,它的引用计数ob_ref加1,每当该对象的引用失效时计数ob_r...原创 2020-04-15 22:31:08 · 318 阅读 · 0 评论 -
Python关于selenium实现自动登陆并且获取token
哈哈哈 很简单~browser.find_element_by_xpath('//*[@id="btnLogin"]').click() # 登录# 获取cookie信息cookie_items = browser.get_cookies()cookie_str = ""print('cookie_items:',cookie_items)# 组装cookie字符串for it...原创 2020-04-04 15:49:11 · 2181 阅读 · 3 评论 -
Python关于RPC服务
RPC1.什么是RPCRPC 就是为解决服务之间信息交互而发明和存在的。RPC(Remote ProcedureCall)——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。1、RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。2、首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信...原创 2020-03-02 21:43:51 · 353 阅读 · 0 评论 -
Python关于socket套接字编程2(UDP套接字)
UDP套接字编程服务端流程创建数据报套接字sockfd = socket(AF_INET,SOCK_DGRAM) # SOCK_DGRAM(数据报)绑定地址sockfd.bind(addr)消息收发data,addr = sockfd.recvfrom(buffersize)功能: 接收UDP消息参数: 每次最多接收多少字节返回值: data 接收到的内容...原创 2020-03-02 15:56:16 · 323 阅读 · 0 评论 -
Python关于socket套接字编程1(TCP套接字)
socket套接字编程套接字介绍套接字 : 实现网络编程进行数据传输的一种技术手段Python实现套接字编程:import socket套接字分类流式套接字(SOCK_STREAM): 以字节流方式传输数据,实现tcp网络传输方案。(面向连接–tcp协议–可靠的–流式套接字)数据报套接字(SOCK_DGRAM):以数据报形式传输数据,实现udp网络传输方案。(无...原创 2020-03-02 15:37:37 · 781 阅读 · 0 评论 -
Linux关于周期性计划任务
周期性计划任务https://blog.csdn.net/xiaoshunzi111/article/details/52034944https://blog.csdn.net/nero_claudius/article/details/102976144https://www.jianshu.com/p/8742cb21dd01也可以参考这几个文章,我这是总结cron服务 cro...原创 2020-02-27 18:21:37 · 230 阅读 · 0 评论 -
Python关于根据图片链接,存图片
import requestsimport randomimport uuidfrom fake_useragent import UserAgenturl = 'https://test.dajianwuliu.net/uploads/2020-02-27/5e571af4d24c2.jpg'headers = {'User-Agent':UserAgent().random}h...原创 2020-02-27 16:36:11 · 1555 阅读 · 0 评论 -
Python关于文件/图片上传并在html中显示
1、settings配置STATIC_URL = '/staticfiles/'# STATIC_URL = '/static/'STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')MEDIA_URL = '/media/'MED...原创 2020-02-27 16:28:41 · 4587 阅读 · 0 评论 -
Python关于content-type:multipart/form-data 图片上传
我们的请求头必须包含一个特殊的请求头信息:Content-Type,类型为:multipart/form-data,而且还要有一个内容分割符 (boundary) 用于分割请求体中的多个post的内容。因为接收方解析和还原文件必须要根据这个boundaryContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryiSnh...原创 2020-02-19 14:02:28 · 3134 阅读 · 4 评论 -
Python字典根据值来取键
三种方法:1.print([k for k,v in s.items() if v==200])2.b=list(s.keys())[list(s.values()).index(200)]#将字典的值变列表,找目标下标,将键变成列表,根据刚才的下标求得值3.new_dict={v:k for k,v in s.items()}print(new_dict)print(new_di...原创 2020-02-19 10:09:39 · 27751 阅读 · 0 评论 -
Python文章生成器
一个简单的文章生成器~ 仅供互相学习~import randomimport jsondata = json.load(open("data.json", encoding="utf-8"))def generator(title, length=80): """ :param title: 文章标题 :param length: 生成正文的长度 ...原创 2020-01-17 14:57:28 · 1443 阅读 · 0 评论