aiohttp + asyncio 异步网络请求基本操作

作者:matrix 被围观: 5,362 次 发布时间:2019-11-26 分类:Python | 无评论 »

asyncio异步操作需要关键字async,await。async用来声明方法函数,await用来声明耗时操作。但是await关键字后面要求为awaitable对象 且只能在async方法内部使用,不能在外部入口中使用。asyncio的语法其实是系统内部实现了yield from协程。aiohttp用来代替requests的请求库,且支持异步操作。主要优点体现在并发请求多个耗时任务时,自动安排耗时时的操作,避免cpu等待一个一个请求。 单个请求操作 import aiohttpimport asyncio#get 请求async def get(): async with aiohttp.request('GET','https://api.github.com/users/Ho',params={'arg1':123}) as response: # response.request_info # 请求信息 return await response.json()......

awk入门小记

作者:matrix 被围观: 14,429 次 发布时间:2019-11-06 分类:command Linux | 无评论 »

awk用于unix的文本处理,经常出现和使用。读取每一行文本进行格式化输出。测试环境 Macos awk简单操作 默认使用空格进行字符串分割 echo '1 2 3' |awk '{print $0}' # 1 2 3echo '1 2 3' |awk '{print $3}' # 3echo -e "1\n2\n3" |awk '/[23]/' #正则条件查找echo -e "abc\n1a2\n33" |awk '/a/' #正则条件查找字母a awk '{print $3}' file_path #指定文件ls -alh|awk '/^d/' #输出目录# drwxr-xr-x 3 panc staff 96B 7 16 23:32 pt-programecho '1-2-3' |awk -F '-' '{print $2}' #指定分割符号 - 输出 2 $0表示当前行$1表示第一个分割的字段awk命令后面跟操作的语句字符串''包裹,每个语句段落用花括号{}包裹,语句段落中用分号;......

记linux输出重定向操作>&

作者:matrix 被围观: 6,205 次 发布时间:2019-10-19 分类:command Linux | 一条评论 »

今天看到2>&1和>/dev/null 2>&1有点相似但又完全不同,一直都是CV方式来使用 仅知道后者用于禁止所有输出信息。简单整理笔记 基本操作符号和数字描述符号 >用于输出覆盖内容,>>用于输出追加内容<用于输入,<<用于设置输入结束符号<<end:表示当输入end的时候结束输入操作/dev/null表示Linux中的空设备,也当是数据黑洞,无限吞噬。 类型 文件描述符 默认情况 对应文件句柄位置 标准输入(standard input) 0 从键盘获得输入 /proc/self/fd/0 标准输出(standard output) 1 输出到屏幕(即控制台) /proc/self/fd/1 错误输出(error output) 2 输出到屏幕(即控制台) /proc/self/fd......

python 快速读取压缩包内文件

作者:matrix 被围观: 7,100 次 发布时间:2019-10-14 分类:Python | 无评论 »

搜索结果一大堆但都没有找到支持url和local path两种读取方式的操作。留着便于以后直接使用。 gits: https://gist.github.com/Hootrix/cf3e75b1fa6d3d404bc99787f89687f1 import requests,tempfile, zipfile,osdef read_file_for_zip(zip_url, callback=None): """ 读取zip包内的文件 :param zip_url:zip路径/url :param callback:读取操作的回调函数 若函数返回false 则不会读取下一个文件 :return: """ with tempfile.TemporaryFile('w+b') as tmpfile: # 生成临时文件 # 判断是否为本地文件 if os.path.isfile(zip_url): #进行本地复制。没必要 # with open(zip_url,'rb')......

linux查找maildrop目录超大空间占用

作者:matrix 被围观: 5,375 次 发布时间:2019-09-20 分类:Linux | 无评论 »

线上centos服务器有很长时间没有连,今天安装证书无故失败,数据库也不能连接。。。一系列的问题 查找占用情况 $ df -h #查看磁盘占用情况$ du -h --max-depth=1 ./ #查看当前目录的文件/目录占用大小 然后就是手动一层一层的找到最大的那个目录。 😂最后找到一个隐藏杀手:/var/spool/postfix/maildrop/。这个目录下面存在3000W个小文件,占用33GB。主要它还不是tmp之类的目录,没遇见过真是很难查找。究其原因是crontab任务日志发送到所有者的邮箱导致的问题 解决方案 方法1 编辑crontab顶部首行写上 MAILTO="",这样就会把邮箱信息赋空,也就不会发送了。如果有非root用户的crontab任务也需要在顶部声明MAILTO="".默认crontab -e是编辑......

acme.sh配置泛域名证书Let'sEncrypt

作者:matrix 被围观: 5,183 次 发布时间:2019-09-18 分类:Linux | 无评论 »

环境:阿里云centos + dnspod.cnacme.sh项目:https://github.com/Neilpang/acme.sh 安装 $ curl https://get.acme.sh | sh 出现Install success!安装成功。 dns验证方式-获取域名dns token 这里使用域名解析服务商的token来进行域名拥有验证在dnspod.cn上操作申请获取ID和token。ssh执行命令设置变量,便于后面脚本读取。 $ export DP_Id="000000"$ export DP_Key="26****************************ed" 阿里云dns: $ export Ali_Id="000000"$ export Ali_Key="26****************************ed" 阿里云dns获取api和key:https://usercenter.console.aliyun.com/#/manage/ak 进去申请AccessKey ID与Access Key Secret就好。其他域名解析......

Matlab一些简单的操作tips

作者:matrix 被围观: 3,627 次 发布时间:2019-08-12 分类:零零星星 | 无评论 »

由于matlab编程偏向于学术方面,对于我这种😍喜欢OOP以及普通字符串操作来说多少的不熟悉和麻烦。遂记录。 timer定时器操作 类似于javascript的setInterval操作 myTimer = timer('Name','MyTimer', ... 'Period',2, ... % 2秒钟间隔 'StartDelay',0, ... 'TasksToExecute',inf, ... 'ExecutionMode','fixedSpacing', ... 'TimerFcn',@myTimerCallback,... 'ErrorFcn',@(~,thisEvent)exit);% 如果报错 则推出程序start(myTimer);%启动function myTimerCallback(hObject, eventdata) disp(['run time:: ', datestr(datetime('now'),'yyyy-mm-dd HH:M......

修改matlab编码集到utf-8

作者:matrix 被围观: 7,377 次 发布时间:2019-08-11 分类:零零星星 | 无评论 »

默认matlab安装会根据系统语言环境来设置文件编码,想设置为utf-8编码反而是件麻烦事。网上大多都说直接修改lcdata就可以,但是我找了一大圈都没看到里面出现的关键字内容,也试了很多方法都没用。2017之后版本的lcdata.xml都只是空白的注释文件,其实就需要把lcdata_utf8改为lcdata或者把里面的内容放到lcdata.xml就可以了。环境: MATLAB_R2018a for Mac 修改lcdata.xml Mac lcdata.xml路径:/Applications/MATLAB_R2018a.app/bin/lcdata.xmlwindows的话找到安装目录的bin文件夹 <?xml version="1.0" encoding="UTF-8" ?><!-- MathWorks Locale Database --><!-- File Name: lcdata.xml --><!-- Copyright 2007-2016 ......