随笔分类 -  python

摘要:import timeimport asynciodef demo1(): """普通版本 阻塞 需要9秒钟执行完毕""" def wash1(): time.sleep(3) print("wash1 finished") def wash2(): time.sleep(3) print("was 阅读全文
posted @ 2020-06-29 14:52 口头猿 阅读(428) 评论(0) 推荐(0)
摘要:问题描述: 最近安装了mitmproxy,打算实现抓包篡改功能,但是每次启动服务,就会产生一个临时文件夹。 解决:问了朋友,他遇到过类似情况,怀疑是pytnstaller打包的!打包成一个独立的可执行程序,standalone会临时解压。解决方式是退出时清理,可以注册一个atexit清理函数。 我的 阅读全文
posted @ 2020-03-22 23:47 口头猿 阅读(387) 评论(0) 推荐(0)
摘要:打算通过python3 setup.py install 安装第三方包mitmproxy,结果各种下载包失败,源找不到包版本之类, 跌跌撞撞,根据提示,用清华源下载各版本包: 512 pip3 --default-timeout=100 install ruamel.yaml==0.16 513 p 阅读全文
posted @ 2020-03-04 17:25 口头猿 阅读(134) 评论(0) 推荐(0)
摘要:答:官方的解释:此为type hints,是Python 3.5新加的功能。类型建议符并非强制规定和检查,也就是说即使传入的实际参数与建议参数不符,也不会报错。 函数参数中的“:”是参数的类型建议符(告诉程序员希望传入的实参的类型)。 函数后面跟着的“->”是函数返回值的类型建议符(用来说明该函数返 阅读全文
posted @ 2020-03-04 12:06 口头猿 阅读(1952) 评论(0) 推荐(1)
摘要:pip的镜像源是国外时,经常遇到‘time out’,我们只需要把源地址改为国内可用的镜像网站就可以避免这个问题。 pip install --index https://pypi.python.org/simple softwarename如果在国内镜像网站搜索不到该软件或者包,可以换个镜像网站重 阅读全文
posted @ 2020-03-02 23:01 口头猿 阅读(841) 评论(0) 推荐(0)
摘要:在一个函数中def fun(): pass这个函数如何知道是谁调用了它呢?import tracebackdef fun(): s = traceback.extract_stack() print '%s Invoked me!'%s[-2][2] 这个 fun 函数就可以知道是谁调用了它,并打印 阅读全文
posted @ 2020-03-02 15:41 口头猿 阅读(3589) 评论(0) 推荐(0)
摘要:> gevent介绍 gevent是第三方库,通过 greenlet 实现 coroutine,创建、调度的开销比 线程(thread) 还小,因此程序内部的执行流效率高。 其基本思想是:当一个greenlet遇到IO操作时 (比如访问网络)就自动切换到其他的greenlet,等到IO操作完成,再在 阅读全文
posted @ 2020-02-22 23:44 口头猿 阅读(1340) 评论(0) 推荐(0)
摘要:主要版本对应: 路径:/root/chromedriver 安装chrome浏览器 yum install chromium 下载chrome driver驱动(注意版本): wget -N https://npm.taobao.org/mirrors/chromedriver/80.0.3987. 阅读全文
posted @ 2020-02-17 13:21 口头猿 阅读(198) 评论(0) 推荐(0)
摘要:问:如何输入命令行就能执行python代码呢? 答:要将python模块转变为命令行工具只用在 setup.py 文件中添加参数entry_points 例如: entry_points={ 'console_scripts': [ 'pycase = pycase.case:main' ] } p 阅读全文
posted @ 2020-02-05 11:33 口头猿 阅读(554) 评论(0) 推荐(0)
摘要:1. 路由设置的2种方式 查看源码,route方法里,本质是执行app.add_url_rule() 因此可以这么写(主流方式): @app.route("/xxx") def index(): return "index!" 还可以这么写: def index(): return "index!" 阅读全文
posted @ 2020-02-03 09:51 口头猿 阅读(219) 评论(0) 推荐(0)
摘要:有个需求,数据库有个表有将近 几千条 url 记录,每条记录都是一个图片,我需要请求他们拿到每个图片存到本地。一开始我是这么写的(伪代码): import requests for url in urls: try: r = requests.get(url).content save_image( 阅读全文
posted @ 2019-10-15 10:57 口头猿 阅读(3431) 评论(0) 推荐(0)
摘要:在创建 tcp server 的时候,首先检测端口是否被占用。 代码如下: 阅读全文
posted @ 2019-01-13 21:45 口头猿 阅读(1444) 评论(0) 推荐(0)
摘要:pyinstaller定义:PyInstaller是一个压缩python文件成为可执行程序的一个软件。 pyinstaller工作原理:① 它会扫描你所有的Python文档,并分析所有代码从而找出所有你的代码运行所需的模块。② PyInstaller会将所有这些模块和你的code放在一个文件夹里,或 阅读全文
posted @ 2018-10-09 09:40 口头猿 阅读(1353) 评论(0) 推荐(0)
摘要:经常看到__future__: from __future__ import absolute_importfrom __future__ import print_functionfrom __future__ import division ...... 解释: Python的每个新版本都会增加 阅读全文
posted @ 2018-09-21 10:13 口头猿 阅读(540) 评论(1) 推荐(0)
摘要:自己写一个脚本,统计调用200次接口的请求时长。 阅读全文
posted @ 2018-09-13 15:40 口头猿 阅读(2091) 评论(0) 推荐(0)
摘要:把项目的py文件变异成pyc文件,好处是可以保护源码不泄露。 假如一个工程文件夹有1000个py文件,这个时候怎样快速处理 ? 两步走: ① py >pyc python -m compileall /路径 ② 删除 py #!/usr/bin/python# -*- coding: utf-8 - 阅读全文
posted @ 2018-08-17 14:02 口头猿 阅读(692) 评论(0) 推荐(0)
摘要:# coding:utf-8 #强制使用utf-8编码格式import smtplib # 加载smtplib模块from email.mime.text import MIMETextfrom email.utils import formataddrmy_sender = 'xxxxx@xxxx 阅读全文
posted @ 2018-08-13 09:14 口头猿 阅读(184) 评论(0) 推荐(0)
摘要:apscheduler 官方文档:http://apscheduler.readthedocs.io/en/latest/ 写一个后台定时任务,一般2个选择,一个是apscheduler,一个celery,apscheduler比较直观简单。 安装:pip install apscheduler 简 阅读全文
posted @ 2018-08-12 19:06 口头猿 阅读(737) 评论(0) 推荐(0)
摘要:废话不说,直接上代码:import xlrd import xlwt # 读excel然后写到mysql的套路def updata_info(): book = xlrd.open_workbook("tb_yuzhao.xls") sheet = book.sheet_by_name("sheet 阅读全文
posted @ 2018-05-18 12:30 口头猿 阅读(214) 评论(0) 推荐(0)
摘要:建议一:脚本的传参 不建议写死参数,尽量传递参数而不是修改代码。可以定义一个方法,以python为例子: import argparse def parse_cmd(): parser = argparse.ArgumentParser() parser.add_argument('-s', '-- 阅读全文
posted @ 2018-05-18 12:05 口头猿 阅读(329) 评论(0) 推荐(0)