yaml文件的读写是真的快,也很简单。代码如下:
from ruamel.yaml import YAML
import os
# 读取yaml配置文件
def read_yaml(yaml_path):
yaml = YAML(typ='unsafe')
try:
with open(yaml_path, encoding="utf-8") as fp:
yaml_data = yaml.load(fp)
fp.close()
return yaml_data
except:
return None
# 写入yaml配置文件
def write_yaml(yaml_path, data, encoding="utf-8"):
yaml = YAML(typ="rt")
with open(yaml_path, encoding=encoding, mode="w") as fp:
yaml.dump(data, stream=fp)
fp.close()
1、下载php-redis扩展下载地址: http://pecl.php.net/package/redis具体下载版本以自己的PHP版本信息为准linux下载命令wgethttp://pecl.php.net/get/redis-5.3.1.tgz复制2、安装tarzxvfredis-5.3.1.tgz#解压 cdredis-5.3.1#进入安装目录 phpize#用phpize生成configure配置文件 ./configure--with-php-config=/usr/local/php/bin/php-config#配置 make#编译 makeinstall#安装复制安装完成之后,出现下面的安装路径复制代码Installingsharedextensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/复制3、php开启扩展vim/usr/local/php/etc/php.ini#编辑配置文件,添加 extension=redis.so#开启redis扩展 :wq#保存退出复制4、测试pkill
是什么背景在程序员的工作中,代码编写虽然占了一很大部分,但是编写接口文档也同样费时费力,而我们常用的swagger(丝袜哥)已经能帮助我们自动生成接口文档,但是缺点是不能够导出文档 而showdoc+runapi能够帮助我们导出接口文档,并实现接口文档管理交接,模板编写,接口调试等功能.但是缺点也同样明显,需要人为输入的内容较多二者各有千秋,可以根据具体业务酌情使用. 而下面我们介绍的是一种新的接口文档生成和导出工具------JApiDocs 简介JApiDocs是一个无需额外注解、开箱即用的SpringBoot接口文档自动生成工具。 特点使用方便.两步搞定支持文档导出.(Markdown)支持多模块项目支持自定义代码模板与其他接口文档插件无缝集成怎么用使用步骤添加依赖 <dependency><groupId>io.github.yedaxiagroupId><artifactId>japidocsartifactId><version>1.4.3version>dependency> 配置参数 在启动类的ma
/**有n个灯,编号为1-n。第一个人把所以灯打开,第二个人按下 所有编号为2的倍数的开关,第三个人按下3的倍数的开关,依次类推, 一共有k个人,问最后有哪些灯开着? 样例输入: 73 样例输出: 1567 **/#include<stdio.h> #include<stdlib.h> #include<string.h> intmain() { inta[1005],i,j,k,n,first=1; scanf("%d%d",&n,&k); memset(a,0,sizeof(a)); for(i=1;i<=k;i++) for(j=1;j<=n;j++) { if(j%i==0) a[j]=!a[j]; } for(i=1;i<=n;i++) { if(a[i]) { if(first) first=0; else printf(""); printf("%d",i); } } printf("\n"); return0; }复制me
MacBookPro(Retina,13-inch,Early2015)A1502更换SamsungSM961Polaris512GBM.2-2280PCI-e3.0x4NVMeOEMSSD操作过程很简单 1、先时间机器备份好到A盘 1、先下载最新的系统dmg,制作一个U盘启动盘B盘 2、把新的SSD换到电脑上,(需要某宝的转接卡)自己找下 3、插上U盘启动盘B盘启动,在启动之后选择时间机器还原,插上A盘,然后继续往下格式化新的SSD为APFS,再往后就是还原过程了。 4、还原完成,重启就OK了。 视频教程:<ahref="https://www.zalou.cn/tag/https"title="https"target="_blank"rel="noopenernoreferrer">https</a>://padiao-1251223900.cos.ap-guangzhou.myqcloud.com/%E7%82%BAMacBook%E6%9B%B4%E6%8F%9BNVMe%
首先先看下效果图: 计算全部人数方法: Sheet2代表在名为它的页签取数, A:A代表整个的范围是A列, *号为通配符,代表匹配任意长度字符串, -1表示减去列名,就是“姓名”这个列名。=COUNTIF(Sheet2!A:A,"*")-1复制计算名字里包含“三”字的人数方法: *三*表示三的左右两边可是任意的字符串,也可以没有。=COUNTIF(Sheet2!A:A,"*三*")复制计算名字的第二个字为“三”的人数方法: ?表示匹配固定一位字符串,但不能没有。=COUNTIF(Sheet2!A:A,"?三")复制
https://github.com/almasaeed2010/AdminLTE 非常流行的基于Bootstrap3.x的免费的后台UI框架。 imagehttps://github.com/creativetimofficial/material-dashboard 基于Bootstrap4和Material风格的控制面板。imagehttps://github.com/iview/iview-admin 基于iView的Vue2.0控制面板。imagehttps://github.com/PanJiaChen/vue-element-admin一个基于vue2.0和Eelement的控制面板UI框架。imagehttps://github.com/tabler/tabler 构建在BootStrap4之上的免费的HTML控制面板框架imagehttps://github.com/puikinsh/gentelella 一个基于Bootstarp的免费的后台控制面板。imagehttps://github.com/ant-design/ant-design-pro 开箱即用的中台前
Python爬虫学习之代理IP抓取✕代理是个好东西!今天使用xpath来清理数据运行效果: #主要用到的包 importrequestsfromlxmlimportetree importpprint importtime复制 定义一个类,初始化内容添加进去需要用到的url,请求头;新建立一个列表来存储爬取的数据classdaili(): def__init__(self): '''初始化操作''' #起始url self.url="https://www.xicidaili.com/nn" #使用的是手机浏览器 self.headers={ 'User-Agent':'Mozilla/5.0(Linux;Android6.0;Nexus5Build/MRA58N)AppleWebKit/537.36(KHTML,likeGecko)Chrome/75.0.3770.142MobileSafari/537.36' } #代理字典 self.dl_list=list(
五月不减肥,六月徒伤悲,其实穿不上去年紧身连衣裙的那一刹,就已经足够让人伤心了。可是对于不想运动只想坐躺吃喝的懒人来说,这身肥肉真的没救了吗?这可不一定,现在就有一款能够让你穿上无需运动就能达到轻松减肥目的背心,就看你是不是诚心想减肥了。这款背心名叫ThinIce,官方表示,在这款背心的胸部和背部的地方安装了冷却温度传感器,这样可以通过刺激身体上的棕色脂肪组织来消耗热量。众所周知,人体内有两种脂肪,分别是白色和棕色,前者是造成人体肥胖的罪魁祸首,而后者则可以分解掉前者并释放热量保持人体体内温度的恒定。根据团队介绍,用户穿上它,轻轻松松就能消耗500至1000的卡路里。既然是通过低温手段刺激棕色脂肪来达到减肥的目标,那么这款背心是怎样实现冷却效果的呢?据透露,背心内部设置有散热系统,以及供电电池组、半导体制冷芯片等。穿戴者只需要通过相对应的APP对其中的温度进行调节,便可以享受其带来的便利。同时还能通过APP实时观察卡路里的消耗情况。到目前为止,ThinIce神奇背心已经发展到第二代,第一代就在众筹时获得非常多的支持,最终筹集到600000美元,而此次进阶的第二代版本则会在原有的基础上增
美国的在线旅游市场正在走向成熟。根据eMarketer发布的报告,美国的在线旅游销售增长幅度正在放缓,增速从2011年的15.1%下降到2013年的8.0%,预测在2017年的增长幅度为4.5%。对于酒店和旅游业的公司来说这意味着什么呢?新增的在线消费者人数后继增长乏力——仅仅给用户提供一个带预订功能的网站是不够的,在线的访问体验必须要吸引客户多次回访并在线下单。消费者可以选择在线下单或通过手机进行预订。为了避免你的潜在客户跑到你的竞争对手那里预订酒店与旅游产品,你必须要了解你的潜在客户的意图,并提供相关的、及时的和有见地的互动,从而提升的订单转化的几率。要做到这一点,酒店和旅游机构必须要以数据为基础展开分析,充分利用数据(网络和移动的数据)以识别客户的需求(如他们正在查找哪些内容),并想办法为客户提供他们想要的内容和搜索结果。幸运的是,数据存储和处理能力的进步意味着我们已经可以很好地对网络和移动行为进行预测分析。在过去的网站分析工作过通过都是把聚合数据作为第一个步骤,然后提供摘要报告。然而,数据存储的成本已经变得相对便宜,而数据的处理能力则呈指数级增长,使企业能够在不牺牲任何速度或精
在公众印象中,程序员很忙,没错!不过他们忙碌的原因也许并不只是代码,更多因素应归功于这一次又一次的打断!以下是网上查到的一些信息 一个程序员被打搅后,他需要10-15分钟的时间才能重新恢复到之前的编程状态。 当修改一个程序函数时被打搅,只有十分之一的程序员能在一分钟内回到之前的思路。 程序员一天中只能得到一段2小时不被打搅的时间。 若被打扰后,在程序员恢复状态期间,再出现新的打扰,那破坏力更是难以估量!一个国外程序员也深受这个问题困扰,于是他在Twitter上写到即“开发人员每天应当有4-6小时的无中断时间。每次3-5分钟的中断,其成本远超过你的想象”。这条消息也引起了很多同行的共鸣和转发!看来“程序员怕打扰”已经是一个世界范围的问题了。当你看到一个程序员正在专心思考问题时,除非万不得已,尽量不要去打扰他。让他专心的工作,就是对他最大的尊重! 以下文章来源于不会笑青年 ,作者不笑青年
由于Redis端口没有做限制导致服务器被挖矿病毒感染。 阿里云服务器CPU总是会飙升,但是top命令也找不到占用大量CPU的线程。先查看定时任务,挖矿程序肯定会挂定时任务防止线程被杀死 -lrt表示按修改时间倒序列出当前工作目录下的所有文件的详细信息 -d只显示当前文件夹 ls-lrt-d/etc/cron* 复制 列出目前的时程表 crontab-l */30****sh/etc/newinit.sh>/dev/null2>&1 复制 删除newinit.sh脚本文件 #查看文件属性 lsattr/etc/newinit.sh #修改文件属性 chattr-ia/etc/newinit.sh #删除文件 rm-rf/etc/newinit.sh 复制 删除定时任务 crontab-r #如果没有权限先修改文件属性 chattr-R-ia/var/spool/cron chattr-ia/etc/crontab chattr-R-ia/etc/cron.d 复制 最方便的方式:重置系统。如果服务器只是给个人用来学习没有什么重要信息放在服务器上,可以直接重置系
目录一.准备工作二.安装Nacos三.配置并启动四.Q&A 一.准备工作 下载Nacos 官网提供稳定版:https://github.com/alibaba/nacos/releases 可以选择源码自编译或二进制可执行文件压缩包(Windows下载.zip包;Linux和MacOS下载.tar.gz) JDK1.8+ JDK最低要求版本是1.8 官网:https://www.oracle.com/java/technologies/downloads/#java8 注意分清楚使用的处理器和操作系统位数。ARM32/64用于ARM处理器;x86/x64用于x84处理器,其中i586是32位,x64是64位。Nacos只支持64位OS和JDK,注意安装版本。 建议不要下载.rpm,不好设置安装路径,还是.tar.gz方便。 MySQL5.* 因为Nacos启动需要配置数据源配置,而且目前只支持MySQL,所以启动之前一定要有一个MySQL。 详见:MySQL个人用户的安装配置详解[windows]或Docker安装并配置MySQL5.7 二.安装Naco
ios开发硬件配置环境 工具:使用到Xcode和iOSSDK(Apple提供的开发工具)。 硬件配置: 首先有一台Mac电脑,然后有一个iDevice——iPhone、iPad、iPodTouch均可,最好拥有以上三者,以便适配和测试。 软件设置: 在开发应用程序时,会使用到iOS软件开发套件(SDK)以及Xcode,即Apple的集成开发环境(IDE)。 Xcode包括源代码编辑器、图形用户界面编辑器及其他许多功能,为您开发完美的iPhone、iPodtouch和iPad应用程序,提供了所需要的全部资源。 应用程序开发工具集中显示在一个窗口中,Xcode称之为工作区窗口。在此窗口内,可以顺畅地从代码编写转换到代码调试,再到用户界面设计。 iOSSDK扩展了Xcode工具集,包含iOS专用的工具、编译器和框架。 其他 无需加入该计划也可编写应用程序并在iOSSimulator中测试。只有加入该计划,才能在设备上测试与分发应用程序,还可以全权访问iOSDevCenter和iOSProvisioningPortal。
一kubeadm介绍 1.1概述 参考《附003.Kubeadm部署Kubernetes》。 1.2kubeadm功能 参考《附003.Kubeadm部署Kubernetes》。 二部署规划 2.1节点规划 节点主机名 IP 类型 运行服务 master01 172.24.8.71 Kubernetesmaster节点 docker、etcd、kube-apiserver、kube-scheduler、kube-controller-manager、kubectl、kubelet、metrics、calico master02 172.24.8.72 Kubernetesmaster节点 docker、etcd、kube-apiserver、kube-scheduler、kube-controller-manager、kubectl、kubelet、metrics、calico master03 172.24.8.73 Kubernetesmaster节点 docker、etcd、kube-apiserv
1. 放在方法里 constnameToCode=async(nameArr)=>{ constpromiseArr=[]; for(constitemNameofnameArr){ constpromise=newPromise((resolve,reject)=>{ request({ url:'/api/bms/cochlea/materialGroup/searchList', params:{name:itemName}, }).then((thenRes)=>{ if(thenRes?.code==='OK'&&thenRes?.data?.length>0){ resolve(thenRes?.data[0].code||''); } }); }); promiseArr.push(promise); } returnPromise.all(promiseArr); };复制 2.使用 constres=awaitnameToCode(['aaa','bbb','ccc'])复制 注:主要使用:for
实验一、DOS命令解释程序的编写 13物联网 李小娜 201306104148 一、 实验目的 (1)认识DOS; (2)掌握命令解释程序的原理; (3)掌握简单的DOS调用方法; (4)掌握C语言编程初步。 二、 实验内容和要求 编写类似于DOS,UNIX的命令行解释程序 (1)自行定义系统提示符 (2)自定义命令集(8-10个) (3)用户输入HELP以查找命令的帮助 (4)列出命令的功能,区分内部还是外部命令 (5)用户输入QUIT退出 (6)内部命令有dir, cd, md,rd, cls, date, time, ren, copy等。 根据要求,完成设计、编码、测试工作。 三、 实验方法、步骤及结果测试 源程序名1.c 可执行程序名:1.exe 2.原理分析及流程图 原理分析:先将命令符用一个字符串数组存储起来等待用户输入命令进行匹配,然后
Byfrancis_hao Oct31,2018 官方的函数定义(BNF语法标记) decorator decorator仅仅是一个语法糖,函数可以使用它被封装起来,其返回值必须是可执行的,decorator语法在定义的时候会被执行。在下例中 @ffdef func(): pass 等同于 def func(): passfunc=ff(func) ff可以是一个函数或者一个类,详见参考【3】。在定义时,ff(func)会被执行,ff(func)的返回值必须是可执行的。 parameterlist 参数类型有三类:可赋值参数、元组参数和字典参数 可赋值参数可以设置默认值,之后在调用函数的时候可以省略该参数。如果一个参数设置了默认值,那么其后的可赋值参数也必须设置默认值。 元组参数的形式为"*[parameter]","*parameter"作用是通过元组接收多余的位置参数,如果省略了parameter,将不接收多余