test

python学习笔记第十六天------------网络编程之正则表达式概述

点点圈 提交于 2020-02-06 15:19:19
文章目录 1. 正则表达式概述 2. re模块操作 2.1 re模块的使用过程 2.2 re模块示例 3. 匹配单个字符 4. 匹配多个字符 5. 匹配开头结尾 6. 匹配分组 7. re模块的高级用法 7.1 search 7.2 findall 7.3 sub 将匹配到的数据进行替换 7.4 split 根据匹配进行切割字符串,并返回一个列表 8. 贪婪和非贪婪 9. r的作用 1. 正则表达式概述 场景1:在一个文件中,查找出itcast开头的语句 测试文件 itcast hello python itcast c++ itheima ios itheima php 场景:在一个文件中,找到含有itcast的语句 测试文件 hello itcast python www.itcast.cn c++ itheima ios itheima php 2. re模块操作 在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re 2.1 re模块的使用过程 #coding=utf-8 # 导入re模块 import re # 使用match方法进行匹配操作 result = re . match ( 正则表达式 , 要匹配的字符串 ) # 如果上一步匹配到数据的话,可以使用group方法来提取数据 result . group ( ) 2.2

mkdir 创建目录

柔情痞子 提交于 2020-02-06 12:19:30
短选项 长选项 含义 -m <目录属性> --mode <目录属性> 建立目录时同时设置目录的权限。 -p --parents 此选项后,可以是一个路径名称。 若路径中的某些目录尚不存在,系统将自动建立好那些尚不存在的目录。 即一次可以建立多个目录。 -v --verbose 每次创建新目录都显示信息 实例1:创建一个空目录 [root@localhost test]# mkdir test1 [root@localhost test]# ls -l 总计 4drwxr-xr-x 2 root root 4096 10-25 17:42 test1 实例2:创建多层目录 [root@localhost test]# mkdir -p test2/test22 [root@localhost test]# ls -l 总计 8drwxr-xr-x 2 root root 4096 10-25 17:42 test1 drwxr-xr-x 3 root root 4096 10-25 17:44 test2 [root@localhost test]# cd test2/ [root@localhost test2]# ls -l 总计 4drwxr-xr-x 2 root root 4096 10-25 17:44 test22 实例3:创建权限为777的目录 [root

Keras安装与测试遇到的坑

一个人想着一个人 提交于 2020-02-06 12:04:17
Keras是基于python的深度学习库 Keras是一个高层神经网络API,Keras由纯Python编写而成并基 Tensorflow 、 Theano 以及 CNTK 后端。 安装步骤及遇到的坑: (1)安装tensorflow:CMD命令行输入 pip install - - upgrade tensorflow (2)安装Keras:pip install keras -U --pre (3)验证tensorflow   jupyter notebook或者spyder输入以下代码:   import tensorflow as tf   hello = tf.constant(“hello,tensorflow”)   sess = tf.Session()   print(sess.run(hello))   能显示“hello,tensorflow”则表示安装成功 (4)验证keras,   使用Keras中mnist数据集测试 下载Keras开发包,命令行输入以下命令   >>> conda install git #安装git工具   >>> git clone https://github.com/fchollet/keras.git #下载keras工程内容   >>> cd keras/examples/ #进入测试代码所在路径   >>> python

muduo库学习笔记十三:base库之ThreadLocalSingleton

扶醉桌前 提交于 2020-02-06 11:48:43
线程本地存储单例类 : 针对“每个结构”每个线程仅有一个线程本地存储类对象 t_value_:类型为T的指针是pod类型可以用__thread修饰,每个线程一份 deleter:Deleter类对象 instance():返回T引用 pointer():返回T指针 destructor():借助Deleter才能被调用 Deleter类:嵌套在ThreadLocalSingleton类中,借助于TSD实现线程本地存储机制 Show Me The Code : // Use of this source code is governed by a BSD-style license // that can be found in the License file. // // Author: Shuo Chen (chenshuo at chenshuo dot com) #ifndef MUDUO_BASE_THREADLOCALSINGLETON_H #define MUDUO_BASE_THREADLOCALSINGLETON_H #include <boost/noncopyable.hpp> #include <assert.h> #include <pthread.h> namespace muduo { template<typename T> class

Redis高级客户端Lettuce详解

别说谁变了你拦得住时间么 提交于 2020-02-06 11:45:18
前提 Lettuce 是一个 Redis 的 Java 驱动包,初识她的时候是使用 RedisTemplate 的时候遇到点问题 Debug 到底层的一些源码,发现 spring-data-redis 的驱动包在某个版本之后替换为 Lettuce 。 Lettuce 翻译为 生菜 ,没错,就是吃的那种生菜,所以它的 Logo 长这样: 既然能被 Spring 生态所认可, Lettuce 想必有过人之处,于是笔者花时间阅读她的官方文档,整理测试示例,写下这篇文章。编写本文时所使用的版本为 Lettuce 5.1.8.RELEASE , SpringBoot 2.1.8.RELEASE , JDK [8,11] 。 超长警告 :这篇文章断断续续花了两周完成,超过4万字… Lettuce简介 Lettuce 是一个高性能基于 Java 编写的 Redis 驱动框架,底层集成了 Project Reactor 提供天然的反应式编程,通信框架集成了 Netty 使用了非阻塞 IO , 5.x 版本之后融合了 JDK1.8 的异步编程特性,在保证高性能的同时提供了十分丰富易用的 API , 5.1 版本的新特性如下: 支持 Redis 的新增命令 ZPOPMIN, ZPOPMAX, BZPOPMIN, BZPOPMAX 。 支持通过 Brave 模块跟踪 Redis 命令执行。 支持

Codeforces Round #617 (Div. 3) C.Yet Another Walking Robot

南笙酒味 提交于 2020-02-06 11:25:28
Codeforces Round #617 (Div. 3) C.Yet Another Walking Robot There is a robot on a coordinate plane. Initially, the robot is located at the point (0,0). Its path is described as a string s of length n consisting of characters ‘L’, ‘R’, ‘U’, ‘D’. Each of these characters corresponds to some move: ‘L’ (left): means that the robot moves from the point (x,y) to the point (x−1,y); ‘R’ (right): means that the robot moves from the point (x,y) to the point (x+1,y); ‘U’ (up): means that the robot moves from the point (x,y) to the point (x,y+1); ‘D’ (down): means that the robot moves from the point (x,y)

图数据库设计实践 | 存储服务的负载均衡和数据迁移

被刻印的时光 ゝ 提交于 2020-02-06 11:22:35
在文章 《Nebula 架构剖析系列(一)图数据库的存储设计》 中,我们提过分布式图存储的管理由 Meta Service 来统一调度,它记录了所有 partition 的分布情况,以及当前机器的状态。当 DBA 增减机器时,只需要通过 console 输入相应的指令,Meta Service 便能够生成整个 Balance 计划并执行。而之所以没有采用完全自动 Balance 的方式,主要是为了减少数据搬迁对于线上服务的影响,Balance 的时机由用户自己控制。 在本文中我们将着重讲解在存储层如何实现数据和服务的负载平衡。 简单回顾一下, Nebula Graph 的服务可分为 graph,storage,meta。本文主要描述对于存储层(storage)的数据和服务的 balance。这些都是通过 Balance 命令来实现的:Balance 命令有两种,一种需要迁移数据,命令为 BALANCE DATA ;另一种不需要迁移数据,只改变 partition 的 raft-leader 分布(负载均衡),命令为 BALANCE LEADER 。 本文目录 Balance 机制浅析 集群数据迁移 Step 1:准备工作 Step 1.1 查看现有集群状态 Step 1.2 创建图空间 Step 2 加入新实例 Step 3 迁移数据 Step 4 假如要中途停止 balance

Kubernetes的存储之Volume

喜你入骨 提交于 2020-02-06 10:27:03
在虚拟化的一系列解决方案中,数据的持久化都是需要我们非常关心的问题,dokcer是这样,Kubernetes也是这样。不过在Kubernetes中,有一个数据卷的概念。 一、Volume简介 我们经常都会说:容器、Pod都是很短暂的!其含义就是容器和Pod的生命周期都是很短暂的,会被频繁地销毁和创建。容器销毁时,保存在容器内部文件系统中的数据都会被清除。 Volume的生命周期独立于容器,Pod中的容器可能被销毁和重启,但Volume会被保留。 Kubernetes Volume主要解决了以下两个问题: 1)数据持久性: 通常情况下,容器运行起来后,写到其文件系统的文件是暂时性的。当容器崩溃后,kubelet会将这个容器不断的重启,当达到重启的次数后,容器仍然不可用,那么就会将这个容器kill掉,重新生成新的容器。此时,新运行的容器并没有原容器中的数据,因为容器是由镜像创建的; 2)数据共享: 同一个Pod中运行的容器之间,经常会存在共享文件/共享文件夹的需求; 从根本上来说,一个数据卷仅仅是一个可以被Pod访问的目录或文件。这个目录是怎么来的,取决于该数据卷的类型。同一个Pod中的两个容器可以将一个数据卷挂载到不同的目录下。 Volume 提供了对各种 backend 的抽象,容器在使用 Volume 读写数据的时候不需要关心数据到底是存放在本地节点的文件系统中呢还是云硬盘上

Maven最全教程,看了必懂

时光毁灭记忆、已成空白 提交于 2020-02-06 10:13:14
点击上方“ 肉眼品世界 ”,选择“ 设为星标 ” 回复” 666 “启明星技术社群 作者:啤酒大泡泡 cnblogs.com/hzg110/p/6936101.html 前言:目前所有的项目都在使用maven,可是一直没有时间去整理学习,这两天正好有时间,好好的整理一下。 一、为什么使用Maven这样的构建工具【why】 ① 一个项目就是一个工程 如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程 ② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中 同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。 ③ jar包需要的时候每次都要自己准备好或到官网下载 借助于maven我们可以使用统一的规范方式下载jar包,规范 ④ jar包版本不一致的风险 不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。 ⑤ 一个jar包依赖其他的jar包需要自己手动的加入到项目中 FileUpload组件->IO组件,commons-fileupload-1.3

pandas的使用

北城以北 提交于 2020-02-06 08:58:05
需求1. 判断事件是不是一秒内上报一次 如果AP睡眠,唤醒后也会得到数据;对应的log 如下最后一项为时间戳 12-19 11:41:58.085 9641 9641 D har-sensor-test: sensor type: xiaomi.sensor.har timestamps: 206013131379 12-19 11:41:58.895 9641 9641 D har-sensor-test: sensor type: xiaomi.sensor.har timestamps: 206814342057 目的测试后一行 - 前一行timestamps的值是否小于1秒,检查是否有event丢失 1. adb shell logcat | grep "xiaomi.sensor.har timestamps:" 得到所有的timestamps行 并保存到文件中 2. df = pd.read_csv("1111_timestamp.txt", sep=' ') 文件转换为dataframe 3. df.columns.values.tolist()[-1] 找到temes所在的列 4. df_1 = (df[df.columns.values.tolist()[-1]].shift(-1) - df[df.columns.values.tolist()[-1]])