Python
文章平均质量分 74
Time-Traveler
这个作者很懒,什么都没留下…
展开
-
负载均衡策略之轮询策略
本文转自:https://mozillazg.com/2019/02/load-balancing-strategy-algorithm-weighted-round-robin.html#hidround-robin,尊重原创前言:本文简单介绍一下轮询(Round Robin)这个负载均衡策略。轮询选择 (Round Robin):轮询选择指的是从已有的后端节点列表中按顺序依次选择一个节点出来提供服务。一种轮询选择的方法是把所有的节点看做一个一个的点,并把这些点连起来组成一个圆, 轮询选择就是在转载 2021-08-09 13:52:38 · 2246 阅读 · 0 评论 -
Golang+Python Hbase Thrift1 基本使用
go thrift原创 2021-06-09 14:53:23 · 451 阅读 · 1 评论 -
阿里OSS云存储初体验
OSS基本概念:阿里云对象存储服务,简称 OSS,是一种面向海量数据规模的分布式存储服务,具有稳定、可靠、安全、低成本的特点,能够提供十一个九的数据可靠性。OSS提供与平台无关的RESTful API接口,您可以在互联网任何位置存储和访问。OSS的容量和处理能力弹性扩展,并提供多种存储类型供您选择,全面优化存储成本,OSS 是一个分布式的对象存储服务,提供的是一个 Key-Value 对形式的对象存储服务。用户可以根据 Object 的名称(Key)唯一的获取该Object的内容。阿里官方文档链接:h.原创 2021-01-11 11:52:50 · 995 阅读 · 1 评论 -
python exchangelib 同步outlook日历以及联系人
Exchange协议:Exchange协议可供用户同步邮件、联系人、日历及其他所有Exchange对象。由于这个协议需要部署Exchange服务器,因此通常为公司或者机构账号所用。它的好处是:全邮件同步;邮件保存在服务器上;支持绝大部分移动设备、联系人、日历和数据同步;在服务器域中邮件可撤回并修改。坏处是必须部署昂贵的Exchange服务器。Exchange大致工作原理:https://域名/EWS/Exchange.asmx页面提供出来的服务,这也是为什么需要提供域名了,跟pop,imap协议不.原创 2021-01-07 19:04:30 · 1397 阅读 · 1 评论 -
Golang WebSocket 以及多个客户端简单实现
需要用到的包:github.com/gorilla/websocket服务端代码:package mainimport ( "github.com/gin-gonic/gin" "github.com/gorilla/websocket" "net/http")var upGrader = websocket.Upgrader{ CheckOrigin: func (r *http.Request) bool { return true },}//webSocket.原创 2020-12-26 00:22:04 · 7736 阅读 · 0 评论 -
Python Redis环境搭建
Centos 7 安装redis步骤:yum install redisyum install epel-release启动redis:systemctl start redis查看redis状态:systemctl status redissystemctl stop redis 停止服务systemctl restart redis 重启服务设置开机自启动:systemctl enable redis开发端口(没有启动firewalld的话启动一下):system原创 2020-11-24 21:54:21 · 304 阅读 · 0 评论 -
分析过程
衔接上文:https://blog.csdn.net/ALakers/article/details/109892574分析过程:浏览器中打开链接,如下图所示:发现短链经过了跳转查看最终的结果,发现video标签里面存在url的链接:不过打开你会发现,这是个有水###印的视频,但是链接中有个video_id,video_id对于一个视频来讲,如果你是开发人员,你会让它重复吗?我们接着往下看:发现了一个以json作为返回结果的请求,参数还相当简单:不过这个item_id是什么呢?原创 2020-11-21 15:37:08 · 215 阅读 · 1 评论 -
某#音#获取#无#水#印#视#频(无法保存的视频也可以下载)
操作步骤:找到需要下载的视频,点击分享链接将里面的链接地址提取出来,复制到下方python脚本中第12行的链接,链接应该是长这样:https://v.douyin.com/dGefxad/(这个url是随手写的)分析过程请接着后面看Python脚本(未处理任何异常情况,本篇主要注重过程分析,有问题的小伙伴可自行分析解决)import jsonimport requestsfrom urllib.parse import urlparseurl = 'xxxxxxxxxx.原创 2020-11-21 14:44:09 · 558 阅读 · 0 评论 -
Python Sqlalchemy 初试用
Python代码:from sqlalchemy import and_,or_from sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmaker,relationship,backreffrom sqlalchemy import create_engine,Column, Integer, String,ForeignKeyBase = declarative_ba.原创 2020-11-20 16:29:10 · 134 阅读 · 0 评论 -
解析URL(Golang+Python)
URL格式:在互联网中,任何一个可访问的文件或文档都具有一个唯一的地址,这种地址称为统一资源定位符(Uniform Resource Locator,简称URL),其格式如下: scheme://host[:port][path][:parameters][?query]#fragmentscheme(协议):包括http、https、ftp 以及 file。hostname(主机名):可以是主机名、域名、服务器IP。例如百度的域名:www.baidu.comport(端口号):省.原创 2020-11-19 10:53:21 · 482 阅读 · 0 评论 -
M根绳子最长长度问题
题目:有N根绳子,第i根绳子的长度为Li,现在需要M根等长的绳子,可以对N根绳子进行任意裁剪但不能拼接,那么这M根绳子的最长长度是多少。代码:def max_length(m,n,length_data): max_length = float(max(length_data)) min_length = 0.0 while(abs(max_length - min_length) >= 1e-3): mid = min_length +原创 2020-11-06 15:43:05 · 372 阅读 · 0 评论 -
LeetCode:67 Python 二进制求和
def add_binary(a: str, b: str) -> str: result_str = '' if len(a)>len(b): a,b = b,a l = len(a) s = len(b) - l b_left = b[:s] b = b[s:] index = l-1 temp = 0 while index >=0: res = int(a[index])原创 2020-11-06 01:12:45 · 161 阅读 · 0 评论 -
LeetCode Python 不同路径(动态规划)
本篇题目图片文字来源于:https://blog.csdn.net/qq_43328040/article/details/109459709题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?示例 1: 输入: m = 3, n = 2 输出: 3 解释: 从左上角原创 2020-11-03 14:26:06 · 355 阅读 · 1 评论 -
Python LeetCode求子集
def subsets(nums): item = [] result = [] result.append(item) def generate(i, nums): if i >= len(nums): return item.append(nums[i]) result.append(list(item)) generate(i + 1, nums) item.原创 2020-11-02 13:58:02 · 586 阅读 · 1 评论 -
Python LeetCode 数组中的最长山脉
1、题目描述我们把数组 A 中符合下列属性的任意连续子数组 B 称为 “山脉”:B.length >= 3存在 0 < i < B.length - 1 使得 B[0] < B[1] < ... B[i-1] < B[i] > B[i+1] > ... > B[B.length - 1](注意:B 可以是 A 的任意子数组,包括整个数组 A。)输入:[2,1,4,7,3,2,5]输出:5解释:最长的 “山脉” 是 [1,4,7,3,原创 2020-11-02 11:58:04 · 1141 阅读 · 0 评论 -
Leetcode 独一无二的出现次数
一、题目要求: 给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。 如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。 示例 1: 输入:arr = [1,2,2,1,1,3] 输出:true 解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。 示例 2: 输入:arr = [1,2] 输出:false 示例 3: 输入:arr = [-.原创 2020-10-29 19:00:33 · 191 阅读 · 0 评论 -
Python 利用Zip函数获取公共前缀
zip 语法:zip([iterable, ...])参数说明:iterable – 一个或多个迭代器,利用 * 号操作符,可以将元组解压为列表返回值返回一个对象zip 例子:a = ["flower", "flowa", "flqwe"]b = ["flower", "flowa", "flqwe"]print(list(zip(a,b)))print(list(zip(*zip(a,b))))print(list(zip(['xxxxxx'],['yyyyyy']))原创 2020-10-26 13:13:02 · 345 阅读 · 0 评论 -
Python yield理解
本篇转自:https://blog.csdn.net/mieleizhi0522/article/details/82142856 首先我要吐槽一下,看程序的过程中遇见了yield这个关键字,然后百度的时候,发现没有一个能简单的让我懂的,讲起来真TM的都是头头是道,什么参数,什么传递的,还口口声声说自己的教程是最简单的,最浅显易懂的,本篇博客看完之后我真的基本理解了yield的用法了。接下来是正题:首先,如果你还没有对yield有个初步分认识,那么你先把y转载 2020-10-13 16:15:55 · 145 阅读 · 0 评论 -
Python3 nonlocal
加nonlocal:count = 10def non_local_test(): count = 100 def inner(): nonlocal count count = 1000 print('inner count is {}'.format(count)) inner() print('outside count is {}'.format(count))non_local_test()print(原创 2020-10-13 11:28:04 · 220 阅读 · 0 评论 -
Python 产生随机验证码
import randomfrom PIL import Image, ImageDraw, ImageFont width, height, font_size, font_num = 300, 100, 48, 4bg_color = (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255))image = Image.new(mode='RGB', size=(width, height), color转载 2020-10-04 23:14:55 · 270 阅读 · 0 评论 -
Python 滑块验证
一、安装python opencv模块pip install opencv-python二、准备好图片准备好带缺口的图片和缺口图片template.png:target.png:三、代码:def caculate_distance(): otemp = 'F:\\test\\template.png' oblk = 'F:\\test\\target.png' target = cv2.imread(otemp, 0) template = cv2.imr原创 2020-09-29 18:43:01 · 1489 阅读 · 0 评论 -
Python 读写excel表格
本篇参考了两篇博客并做了一点整理,厚着脸皮标了个原创https://blog.csdn.net/asialee_bird/article/details/105497121https://www.cnblogs.com/ilovepython/p/11068841.html本实例从一份excel文件中读取并写入另一个文件中,话不多说,直接上代码:import xlrdimport xlwtimport datetimefrom xlrd import xldate_as_tuple原创 2020-09-26 15:05:17 · 211 阅读 · 0 评论 -
Python复杂对象排序
简单记录: data = [ {'age': 25,'name':'name1'}, {'age': 21,'name':'name2'}, {'age': 32,'name':'name3'}, {'age': 19,'name':'name4'} ] res = sorted(data,key=lambda item: item.get('age')) print('res is {}'.for原创 2020-09-26 11:00:20 · 448 阅读 · 0 评论 -
Python 快速排序
def quick_sort(data_list): if len(data_list) >= 2: length = int(len(data_list)/2) middle_element = data_list[length] left,right = [], [] data_list.remove(middle_element) for num in data_list: if n原创 2020-09-23 00:20:20 · 92 阅读 · 0 评论 -
Python 插入排序
def insert_sort(data_list): length = len(data_list) for i in range(1,length): # 选择当前值 判断前面是否有比当前值大的元素 存在则往后移位 temp = data_list[i] j = i - 1 while j>=0 and data_list[j] > temp: data_list[j+1]原创 2020-09-22 18:56:55 · 136 阅读 · 0 评论 -
Python 冒泡排序以及选择排序
def select_sort(array): length = len(array) for i in range(0,length): index = i # 记住下标方便后面进行交换 for j in range(i+1,length): if array[index]>array[j]: index = j if .原创 2020-09-22 17:07:23 · 235 阅读 · 0 评论 -
Python 归并排序
体现了分治思想def merge_sort(arr): if len(arr)<=1: return arr middle = int(len(arr)/2) left = arr[:middle] right = arr[middle:] left_data = merge_sort(left) right_data = merge_sort(right) return merge(left_data,ri原创 2020-09-22 16:14:03 · 285 阅读 · 0 评论 -
记录一次Python os.path.join路径拼接错误
ss = 'E:\\Cloud\\20200813105812L\\res\\1\\425'a = '\\8_live_1962854245_export_files\\media'c = os.path.join(ss,a)print(c)得到的是如下结果:os.path.join()函数:连接两个或更多的路径名组件:参数可能存在多个从右边开始数,遇到第一个以”/”开头的参数,开始拼接,这个参数左边的全部丢弃print("0:",os.path.join('\\aaaa'.原创 2020-09-18 10:58:11 · 2434 阅读 · 1 评论 -
Python 装饰器理解
本篇转自https://blog.csdn.net/qq_26442553/article/details/82226657 0.什么是Python装饰器? 要弄明白什么是装饰器,装饰器是干什么?先看一个例子:装饰器的演变,所有的程序都是一步步迭代转载 2020-08-28 11:10:37 · 856 阅读 · 0 评论 -
Windows+Python代理检测
python requests的代理检测def getproxies_environment(): proxies = {} for name, value in os.environ.items(): name = name.lower() if value and name[-6:] == '_proxy': proxies[name[:-6]] = value if 'REQUEST_METHOD'原创 2020-08-25 01:48:40 · 652 阅读 · 0 评论 -
python imap fetch的坑
fetch的问题借用官方的example:Here is a minimal example (without error checking) that opens a mailbox and retrieves and prints all messages:import getpass, imaplibM = imaplib.IMAP4()M.login(getpass.getuser(), getpass.getpass())M.select()typ, data = M.search原创 2020-08-13 10:13:02 · 3126 阅读 · 0 评论 -
Python 时间转换
PFirefox设置下载路径(Firefox需要针对每种文件类型进行设置)Chrome 设置下载路径Firefox设置下载路径(Firefox需要针对每种文件类型进行设置)MIME类型:传送门本部分转载于:https://blog.csdn.net/samenmoer/article/details/90141143browser.download.dir:指定下载路径browser.download.folderList:设置成 2 表示使用自定义下载路径;设置成 0 表示下载到桌面;设置成原创 2020-07-03 14:33:46 · 315 阅读 · 0 评论 -
Selenium下载路径
Selenium + Firefox设置下载路径Selenium + Firefox设置下载路径Selenium + Firefox设置下载路径本篇转载于:https://blog.csdn.net/samenmoer/article/details/90141143browser.download.dir:指定下载路径browser.download.folderList:设置成 2 表示使用自定义下载路径;设置成 0 表示下载到桌面;设置成 1 表示下载到默认路径browser.downlo转载 2020-07-02 17:51:21 · 1767 阅读 · 0 评论 -
Python执行js
Python执行jsselenium执行js,并传递参数js2pyPyExecJS(需要js环境)PyV8selenium执行js,并传递参数arguments[0] 就是第一个参数,arguments[0] 就是第二个参数js2py# 执行简单的js# add = js2py.eval_js('function xx(a,b){return a+b}')# res = add(1,2)# print(res)# context方式js = """ a = 1 b原创 2020-06-30 01:23:58 · 267 阅读 · 0 评论 -
python+selenium记录
python+selenium记录selenium基本操作selenium等待expected_conditions类提供的预期条件判断的方法多元素检测WebElement对象操作Xpath定位元素的几种方式定位元素踩的坑selenium基本操作selenium等待强制等待:sleep()import timesleep(5) #等待5秒设置固定休眠时间,单位为秒。 由python的time包提供, 导入 time 包后就可以使用。缺点:不智能,使用太多的sleep会影响脚本运行速度。原创 2020-06-29 23:12:12 · 2088 阅读 · 0 评论 -
Python IMAP 设置代理
Python IMAP 代理IMAP设置代理IMAP设置代理from imaplib import IMAP4from imaplib import IMAP4_PORTfrom imaplib import IMAP4_SSL_PORTclass SocksIMAP4(IMAP4): """ IMAP service trough SOCKS proxy. PySo...原创 2020-01-08 14:50:12 · 2523 阅读 · 6 评论 -
Python IMAP/POP3收取并解析邮件
Python IMAP/POP3收取并解析邮件MIME邮件格式POP3代码IMAP代码邮件解析邮箱文件夹注意事项MIME邮件格式Return-Path: <XXXX@163.com>Delivered-To: ***@**Received: from m13-61.163.com (EHLO m13-61.163.com) ([220.181.13.61]) ...原创 2019-11-13 00:34:29 · 4424 阅读 · 0 评论 -
python 获取邮箱信息
winreg获取软件安装位置列出所有邮箱文件夹解决方法列出所有邮箱文件夹采用 server.list() 将所有文件夹列出来网上基本都是选取INBOX,当我们选中Sent Messages 的时候通常会报错这个错误其实就是没有选中的情况,或者出错了。解决方法采用双引号参考:https://www.e-learn.cn/content/wangluowenzhang/978826...原创 2019-10-22 14:52:12 · 685 阅读 · 0 评论