python
qq_38065133
这个作者很懒,什么都没留下…
展开
-
python base64加解码
def b64encode(s: str) -> str: encoder = base64.b64encode(s.encode('utf-8')) # byte return encoder.decode('utf-8')def b64decode(s) -> str: return base64.b64decode(s.encode('utf8')).decode('utf-8')a = b64encode('asdasdasssssssssssssss原创 2021-02-27 17:25:16 · 116 阅读 · 0 评论 -
验证码图片转灰值,然后二值化,背景就没了
原创 2020-11-11 17:42:39 · 230 阅读 · 0 评论 -
Python 修改程序的默认时区和工作域的时区
6、Python 修改程序的默认时区和工作域的时区import os,timeos.environ[‘TZ’] = ‘Asia/Shanghai’time.tzset()原创 2020-08-24 17:41:57 · 650 阅读 · 0 评论 -
python年月日时分秒字符串
time.strftime('%Y/%m/%d %H:%M:%S')原创 2020-05-23 13:22:58 · 5172 阅读 · 1 评论 -
python逻辑运算符的一些小技巧
def fun(): print('i am a fun...') return 'i am a fun!!!'def funFalse(): print('i am false...') return False# orvar1 = None or 'is me' # is mevar2 = 0 or 'is me' # is mevar3 = False or 'is me' # is meprint(var1)print(var2.原创 2020-05-11 23:48:30 · 178 阅读 · 0 评论 -
python RSA加密解密
import base64import osimport rsa# 生成公钥 私钥publicKey, privateKey = rsa.newkeys(1024)print(publicKey)print(privateKey)# 转换为pem格式publicKeyStr = publicKey.save_pkcs1()privateKeyStr = privateKey.save_pkcs1()print(publicKeyStr)print(privateKeyStr)原创 2020-05-10 15:53:09 · 335 阅读 · 0 评论 -
web页面与pyqt5交互
'''UI.py'''import sysimport osfrom PyQt5.QtWebChannel import QWebChannelfrom PyQt5.QtCore import QUrlfrom PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *from CallHandler import CallHandler# 注册功能,这些功能可以给html的页面调用channel = QWebCh原创 2020-05-10 00:23:04 · 822 阅读 · 0 评论 -
python单例模式
import threadingclass Singleton: _instance_lock = threading.Lock() def __init__(self): pass def __new__(cls, *args, **kwargs): if not hasattr(Singleton, "_instance"):...原创 2020-04-13 15:35:11 · 86 阅读 · 0 评论 -
PyCharm deb快捷键
代码调试快捷键 序号 快捷键 作用 1 F8 单步 2 F7 单步(无函数时同F8) 3 SHIFT + F8 单步跳出 4 ALT + F9 运行到光标所在位置处 5 ALT + F8 测试语句 6 F9 重新运行程序 7 ...原创 2018-12-12 23:23:10 · 212 阅读 · 0 评论 -
[python]在类中定义装饰器,看函数被调用的时间 次数,可以动态修改,开关写入到log
# 在类中定义装饰器,更加方便,不用一直用闭包的参数# 看函数被调用的时间 次数,可以动态修改,开关写入到logimport timeimport loggingDEFAULT_FORMAT = '%(func_name)s -> %(call_time)s\t%(used_time)s\t%(call_n)s'class CallInfo: def __init...原创 2018-10-09 00:56:06 · 370 阅读 · 0 评论 -
[python]利用装饰接受参数,来统计函数执行是否超过了设置的秒数,并可以随时修改装饰器的参数
#利用装饰接受参数,来统计函数执行是否超过了设置的秒数,并可以随时修改装饰器的参数import timeimport loggingdef warn_timeout(timeout): def decorator(func): def wrap(*args, **kwargs): t0 = time.time() ...原创 2018-10-08 23:51:34 · 205 阅读 · 0 评论 -
【python】定义带参数的装饰器,用装饰器限制函数的参数类型
import inspectdef type_assert(*ty_args, **ty_kwargs): def decorator(func): # A... func_sig = inspect.signature(func) bind_type = func_sig.bind_partial(*ty_args, **ty_kwar...原创 2018-09-08 14:35:32 · 394 阅读 · 0 评论 -
[python]asyncio 模拟 http 请求,并获取响应
#asyncio 没有提供http协议的接口 ,可以用aiohttpimport asyncioimport socketfrom urllib.parse import urlparseasync def get_url(url): #通过socket请求html url = urlparse(url) host = url.netloc path =...原创 2018-10-03 21:44:16 · 1354 阅读 · 0 评论 -
[python]asycio 和 ThreadPollExecutor完成阻塞 IO 请求
# asyncio 是异步编程的解决方案# 异步io 包括多线程、协程、进程#使用多线程:在协程中集成阻塞io 如pymysqlimport asynciofrom concurrent.futures import ThreadPoolExecutorimport socketfrom urllib.parse import urlparsedef get_url(url)...原创 2018-10-03 21:08:10 · 406 阅读 · 0 评论 -
[python] IO 多路复用 (select、poll 和 epoll)
#1. epoll并不代表一定比select好# 在并发高的情况下,连接活跃度不是很高, epoll比select# 并发性不高,同时连接很活跃, select比epoll好原创 2018-09-23 22:53:38 · 370 阅读 · 0 评论 -
[python]socket发送http请求,非阻塞io的一个例子
#通过非阻塞io实现http请求import socketfrom urllib.parse import urlparse#使用非阻塞io完成http请求def get_url(url): #通过socket请求html url = urlparse(url) host = url.netloc path = url.path if pat...原创 2018-09-24 12:16:02 · 1022 阅读 · 0 评论 -
[python]select+回调+事件循环获取html
#通过非阻塞io实现http请求# select + 回调 + 事件循环# 并发性高# 使用单线程import socketfrom urllib.parse import urlparsefrom selectors import DefaultSelector, EVENT_READ, EVENT_WRITEselector = DefaultSelector()#使用...原创 2018-09-24 12:36:31 · 665 阅读 · 0 评论 -
[python]回调的问题,以及协程是什么
原创 2018-10-01 15:44:36 · 240 阅读 · 0 评论 -
[python]生成器的高级应用send、close和throw方法
def gen_func(): #1. 可以产出值, 2. 可以接收值(调用方传递进来的值) html = yield "http://projectsedu.com" #这样写的话就是接收值 print(html) yield 1 #这样就是产出值给 调用方 return "bobby"#1. throw, close#1....原创 2018-10-02 13:46:50 · 917 阅读 · 0 评论 -
[python]生成器yield from
#python3.3新加了yield from语法from itertools import chain#chain,把几个可迭代的对象,连接在一起,进行迭代遍历my_list = [1,2,3]my_dict = { "bobby1":"http://projectsedu.com", "bobby2":"http://www.imooc.com",}for valu...原创 2018-10-02 17:29:12 · 241 阅读 · 0 评论 -
[python]asyncio介绍以及事件循环
#事件循环+回调(驱动生成器)+epoll(IO多路复用)#asyncio是python用于解决异步io编程的一整套解决方案#tornado、gevent、twisted(scrapy, django channels)#torando(实现web服务器), django+flask(uwsgi, gunicorn+nginx)#tornado可以直接部署, nginx+tornado...原创 2018-10-03 14:49:55 · 1673 阅读 · 0 评论 -
[python]asyncio task取消
#1. run_until_complete# import asyncio# loop = asyncio.get_event_loop()# loop.run_forever() # 这个会一直运行# loop.run_until_complete() # 运行完tasks,之后会停止掉#1. loop会被放到future中#2. 取消future(t...原创 2018-10-03 20:25:11 · 2312 阅读 · 0 评论 -
[python]asyncio子协程调用过程
原创 2018-10-03 20:35:39 · 321 阅读 · 0 评论 -
[python]asyncio call_soon\call_at\call_latter\call_soon_threadsafe
import asynciodef callback(sleep_times, loop): print("success time {}".format(loop.time()))def stoploop(loop): loop.stop()#call_later, call_atif __name__ == "__main__": loop = async...原创 2018-10-03 20:52:53 · 813 阅读 · 0 评论 -
[python]并发、并行、同步、异步、阻塞、非阻塞概念解释
并发:是指一个时间段内,有几个程序在同一个cpu上运行,但是任意时刻只有一个程序在cpu上运行并行:是指任意时刻点上,有多个程序同时运行在多个cpu上同步:是指代码调用IO操作时,必须等待IO操作完成才返回的调用方式。异步:是指代码调用IO操作时,不必等IO操作完成就返回的调用方式阻塞:是指调用函数时候当前线程被挂起。非阻塞:是指调用函数时候当前线程不会被挂起,而是立即返回...原创 2018-09-23 22:01:09 · 1130 阅读 · 0 评论