- 博客(24)
- 资源 (2)
- 收藏
- 关注
原创 sanic定时任务
sanic框架类似flask框架,也是轻量化类型。不同的是sanic自带协程。其相应速度比flask更快 from sanic import Sanic from sanic.views import HTTPMethodView from apscheduler.schedulers.background import BackgroundScheduler from sanic.response import json import threading from apscheduler.execut
2021-10-16 11:34:41
1233
原创 基于flask的定时任务apscheduler
from apscheduler.schedulers.background import BackgroundScheduler 在框架中,使用BackgroundScheduler作为定时任务,因该方法为非阻塞。适合项目使用 from apscheduler.schedulers.blocking import BlockingScheduler BlockingScheduler方法为阻塞方法。适合在后台运行定时任务。可以理解为Linux的crontab 的定时机制,个人使用一般宁愿选择crontab
2021-10-16 11:28:11
483
原创 windows下运行pyspark报错
Exception in thread “main” java.util.NoSuchElementException: key not found: _PYSPARK_DRIVER_CONN_INFO_PATH 解决: import findspark findspark.init(“E:\spark-2.4.7-bin-hadoop2.7\spark-2.4.7-bin-hadoop2.7”) 路径根据自己的spark来写
2021-05-09 10:43:34
509
原创 回文子串
def findHuiwen(s): j = len(s) res = [] for i in range(j): tmp = s[i] for k in range(i+1,j): tmp += a[k] if len(tmp) > 2: if tmp == tmp[::-1]: res.append(tmp) pri
2021-04-19 10:13:18
195
原创 next与iter方法
自定义生成器,实现斐波那契数列输出 class fib: def __init__(self, num): self.a = 0 self.b = 1 self.num = num #输出斐波那契数的个数 def __next__(self): self.num -= 1 self.a , self.b = self.b, self.a + self.b if self.num < 0:
2021-04-16 12:18:21
111
原创 查找最长连续子串
def findSubStr(a): res = [] #收集所有不重复子串 for i in range(len(a)): tmp=a[i] for j in range(i+1, len(a)): if a[j] not in tmp: tmp+=a[j] else: break res.append(tmp) mlen
2021-04-13 18:39:55
570
原创 找出列表中数字,这些数字大于它所有右边的数,小于它所有左边的数
a = [10, 15, 20, 40, 60, 50, 80, 90, 87 ,100] def findElem(alist): """" 找出列表中数字,这些数字大于它所有右边的数,小于它所有左边的数 """ res = [ ] if len(alist) < 3: return for i in range(len(alist)): for j in range(i+1,len(alist)-1):
2021-04-08 10:43:51
593
原创 递归遍历json字符串
def dic_parse(dic): if isinstance(dic, dict): for key in dic: value = dic.get(key) if isinstance(value, dict): dic_parse(dic_parse(value)) #下面几行注释,则打印出对应的key=value格 # for k
2021-04-03 22:37:59
243
原创 面试题:计算两个列表的向量和
如: a = [ 2, 5, 6] b = [ 3 , 2, 4] a * b = 2 * 3 + 5 * 2 + 6 * 4 def s(alist, blist): res = [ ] while len(alist) and len(blist): res.append(alist.pop(0) * blist.pop(0)) return sum(res) alist = [ 2,5,3] blist = [ 4,6,8] # f = s(alist,bl
2021-03-30 21:27:53
249
原创 matplot绘图中文显示问题解决
方法一: 在python安装目录下,这个路径Lib\site-packages\matplotlib\mpl-data, 找到matplotlibrc目录,找到这个font.sans-serif 后面添加 Microsoft YaHei 如下是添加好的样例 再次运行,含有中文就不报错。 方法二: from matplotlib import font_manager my_font = font_manager.FontProperties(fname="./msyh.ttc") 自己设置中文字体,当前
2021-03-28 12:16:29
358
原创 排序
#选择排序:每趟排序选择最小或最大的一个,交换位置 def select_sort(alist): n = len(alist) for j in range(n-1): min = j #记录最小值的索引 for i in range(j + 1, n): if alist[min] > alist[i]: min = i alist[j], alist[min] = alist[
2021-03-26 15:25:43
100
原创 队列-链表实现
#根据单链表改编 class LinkNode: def __init__(self, item): self.item = item self.next = None class QueLink: def __init__(self, node=None): self.node = node def is_empty(self): return self.node == None def size(sel
2021-03-26 09:45:01
89
原创 栈-链表实现
#根据上篇链表改编 class LinkNode: def __init__(self, item): self.item = item self.next = None class StackLink: def __init__(self, node=None): self.node = node def is_empty(self): return self.node == None def size(
2021-03-26 09:42:42
111
原创 栈与队列-列表实现
class Queue: def __init__(self): self._que = [ ] def enque(self, data): self._que.append(data) def deque(self): """出队""" if not self.is_empty(): return self._que.pop(0) def is_empty(self):
2021-03-25 22:50:55
101
原创 面试题:不使用内置函数判断数字是否可开方
思路:任意一个数字找到能被他整除的最小的数,依次递归,存入列表, 判断列表所有存进去的数的乘积是否和给定的数相等 ret = [ ] lst = [ ] num = 15 def findNum(): for i in range(2, num+1): if num % i == 0: ret.append(i) break def judge(num): if num % ret[0] == 0:
2021-03-24 17:27:14
282
原创 面试题:列表里面含有json格式字符串,使用多线程转换为字典格式
#方法一 from concurrent.futures import ThreadPoolExecutor import threading import json from queue import Queue lst = [ json.dumps({str(i):str(i * 2)}) for i in range(100)] q = Queue(20) def readS(): for s in lst: q.put(s) def getS(): while T
2021-03-24 16:52:37
215
1
原创 单向循环链表
根据之前单链表改装 class Node: def __init__(self, elem): self.elem = elem self.next = None class Link: def __init__(self, node=None): self.node = node if node: #如果不为空,则成环 node.next = node def is_empty(self): return self.node ==
2021-03-19 19:21:10
91
原创 单链表的创建和基本操作
class Node: #节点,定义指针域和数据域 def __init__(self, elem): self.elem = elem self.next = None class Link: def __init__(self, node=None): self.node = node def is_empty(self): return self.node == None def length(self): cur = self.node coun
2021-03-16 21:04:49
429
3
原创 快速排序两种,理解python传参方式
非递归方式: def quickSort(arr, low, high): if low >= high: return i = low j = high p = arr[low] while i < j: if arr[j] >= p: j -= 1 arr[i] = arr[j] if arr[i] < p: i += 1 arr[j] = arr[i] arr[i] = p quickSort(arr, l
2021-03-14 20:55:54
199
原创 深信服python 面试总结
无意投了,前几天通知电话面试,一面对于基本知识点要掌握,扎实,问的很细,直到你答不出来为止。凭回忆记录 1·生成器和迭代器说说 2·线程和协程。怎么用的,这里问的很多,包括占用资源为啥线程比协程大等 3·闭包。衍生到装饰器 4·tcp 和udp,为啥3次握手,4次挥手等 5·基本排序知道哪几种,时间复杂度,快排怎么实现 6.init new方法说说 6·项目的介绍 基本上想到的这些,问的化会一直追问下去。我感觉自己能通过初始,一是对这些有一定理解,二是能用自己的语言表达出来,包括底层实现。说实话,并没期待能
2021-03-12 21:08:41
1473
2
原创 爬取网页时 ‘gbk‘ codec can‘t encode character ‘\u2002‘
pycharm 运行程序时报gbk’ codec can’t encode character ‘\u2002’ in position错误,爬取网页时出现的。类似报错解决方法 解决方法 - 在settings -> File Encodings 设置utf8模式。
2021-03-10 22:36:11
410
1
原创 工作中常用的几个linux命令
linux工作中常用指令,仅个人认为 1·grep 强大的查找文件,可以遍历搜索所有目录 常用: grep -nr 关键字 文件名 ps: grep -nr abc a.txt grep -nr abc * (表示搜索当前目录所有文件) 2· find 强大的文件搜索 常用: find 路径 -name 文件名 ps : find / -name “*.py" 查找 / 目录下所有的py文件 4·ps 查找pid 通常与管道符 | 和grep 一起使用 ps: ps -ef
2021-03-08 21:49:01
150
原创 python协程 asyncio 的认识
import time import asyncio async def countdown(number,n): while n > 0: print(‘T-minus’, n, ‘({})’.format(number)) await asyncio.sleep(1) n -= 1 #方式一 start = time.time() loop = asyncio.get_event_loop() tasks = [ asyncio.ensure_future(countdown(‘A’, 2)),
2021-03-07 18:04:28
125
原创 对python 多线程thread的认识
对python 多线程thread的认识## 标题 class doutulaSpider(threading.Thread): headers = { “Referer”: “https://www.doutula.com”, “User-Agent”: “Mozilla/5.0 (Platform; Encryption; OS-or-CPU; Language)”, “proxy”: “http://120.232.150.100:80” } def init(self, *args, **kwarg
2021-03-07 17:54:00
178
1
后端开发资源包.zip
2021-04-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人