自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 python lambda在列表推导式中的闭包问题

一、一道面试题给出以下代码的pirnt结果li = [lambda : x for x in range(10)]ret = li[0]()print(ret)答案是9,出乎意料的是li内的所有匿名函数的结果都是9。二、闭包产生的影响Python 闭包的后期绑定导致的 late binding,这意味着在 闭包中的变量是在内部函数被调用的时候被查找。所以结果是,当任何 li 内的匿名函数被调用时,x的值是在它被调用时的周围作用域中查找,无论哪个lambda函数被调用,for 循环都已经完

2021-02-24 15:09:32 474

原创 pandas 读取excel文件

pandas 读取excel文件一 read_excel() 的基本用法二 read_excel() 的常用的参数:三 示例1. IO:路径2. sheet_name:指定工作表名3. header :指定标题行4. names: 指定列名5. index_col: 指定列索引6. skiprows:跳过指定行数的数据7. skipfooter:省略从尾部的行数据8.dtype 指定某些列的数据类型pandas 读取excel文件使用的是 read_excel方法。本文将详细解析read_excel方法

2021-02-23 17:22:48 57474 11

原创 Robot 监控服务器资源

Robot 监控服务器资源文章目录Robot 监控服务器资源一 psutils 监控资源信息二 数据可视化1. deque双端队列的应用2. 平滑曲线3. 图像数据流转换与加密4. 给不同级别的数据指定不同的颜色三 企业微信机器人推送1. 配置机器人2. 推送信息编辑四 脚本完整代码python脚本监控服务器的cpu, memory, swap等资源信息,可视化数据通过微信机器人推送到企业微信,进行日报统计或性能预警对于此监控脚本,我的设想是每隔10秒去获取一次系统信息,每隔6小时统计一次6小时

2021-02-06 10:46:45 471

原创 rust学习六——引用与借用

引用和借用一、引用rust使用 与符号 & 表示引用。允许我们使用一个变量的值,而避免该变量所有值的转移。fn main() { let s1 = String::from("hello"); let len = calculate_len(&s1); println("The length of '{}' is {}", s1, len);}fn calculate_len(s: &String) -> usize {

2021-01-12 16:40:17 10878

原创 rust学习五 ownership所有权

所有权是rust最核心的特性。所有的编程语言都必须管理程序在运行时使用的内存,有的程序使用垃圾回收策略释放内存,有的程序则必须手动的分配和释放内存,而rust选择了第三种方式:内存是通过所有权系统和一组规则来管理的,编译器在编译时检查这些规则。当程序运行时,没有任何所有权特性会减慢程序的运行速度。一、堆与栈堆和栈都是内存的一部分, 栈按照获取值的顺序储存值,按照相反的顺序删除值,后进先出。将栈想象成盘子,每次都是将最新的盘子放在最上方,取盘子的时候也都是取最上方的。将数据入栈、出栈称为 push 或.

2021-01-07 18:29:39 12771

原创 Rust学习四 rust的函数、注释与控制流

函数、注释与控制流一 函数rust以fn为关键字声明一个函数。函数命名规范为全小写,以下划线为分隔的单词。fn main() { }带参数的函数多个参数以逗号分隔,函数参数必须指定数据类型fn test(x: i32, y: u64)() { ...}函数体内的语句与表达式函数体由一系列的以表达式结尾的语句组成。到目前为止我们只涉及了没有表达式结尾的函数,但是能看出表达式是语句的一部分。因为rust是一种基于表达式的语言,这是一个需要理解的重大区别。其他语言在语句与表

2020-12-30 16:17:27 12877

原创 Rust学习三 rust的数据类型

数据类型rust的两种数据类型子集:标量类型和复合类型rust是静态语言,这表明rust在编译时必须清楚的知道所有变量的类型一 Scalar Types 标量类型4种标量类型: 整型,浮点型,布尔型, 字符型1. Integer Types 整型整型类型分为有符号整型和无符号整型LengthSignedRange(-2n-1 to 2n-1 - 1)UnsignedRange(0 to 2n - 1)8-biti8-27 ~ 27 -1 (-128

2020-12-30 16:13:56 13530

原创 Rust学习二 变量与可变性

变量与可变性一 变量变量默认是不可变的,声明一个变量后不可以在改变这个变量的值使用 mut 关键字声明一个变量是可变的。可变性是一种权衡。二 常量使用 const 关键字,而非 let 声明一个常量常量声明必须指定类型:const MAX_POINTS: u32 = 100_000;rust常量命名规范是:全字母大写, 单词间以下划线分隔,rust的数字为了方便阅读也可以使用下划线分割。3. 将一个在整个程序中使用的值设为常量,有利于传递该值的含义给未来的代码维护人员

2020-12-30 16:12:28 12840

原创 Rust学习一

Rust学习一一 安装命令行安装 curl --proto ‘=https’ --tlsv1.2 https://sh.rustup.rs -sSf | sh查看版本 rustc —version更新 rustup update卸载 rustup self uninstall二 Hello Worldxxx.rs rs文件是rust的文件格式, linux/macos 下 可执行文件是 xxx , windows是xxx.exefn main() {} 程序入口

2020-12-30 16:10:58 12709 1

原创 python 内存数据压缩为zip: 跳过文件保存后在压缩,直接将数据保存为压缩格式

文章目录一 __init__() 创建一个类文件对象二 append() 内存数据添加到zip对象三 appendfile() 文件添加到zip对象四 read() 读取zip数据流五 writetofile() 内存zip流保存为zip文件六 完整版python代码工作中需要将大批的数据,压缩为zip存储。按照传统的处理办法需要将数据先存储到本地磁盘,再从磁盘读文件压缩成zip文件。传统方法需要多次磁盘IO,性能很低,如果跳过文件存储,直接将内存的数据压缩保存,会大大减少磁盘IO,提升性能。不

2020-11-25 11:00:35 13715

原创 ssh登录阻塞在pledge: network的解决方法

ssh登录阻塞在pledge: network的解决方法一 前言二 解决方法三 关于systemd-logind一 前言ssh 登录服务器是发生阻塞,大约会15-60秒才能登录成功。使用 ssh -v debug方式登录。可以查看登录过程是在哪一个环节阻塞的。ssh -v 192.168.0.17如下图可以看到是network这一块发生了阻塞,大约30秒后才登录成功。查资料,只找到这这样一段话:This is probably an issue with D-Bus and system

2020-11-25 10:47:11 21188 1

原创 moosefs使用辅助文件系统,恢复文件

文章目录一 查看moosefs垃圾回收时间二 挂载moosefs辅助文件系统三 undel恢复文件1 单文件恢复2 多文件批量恢复moosefs文件系统,client客户端误删除或丢失的文件是可以通过moosefs的文件辅助系统恢复的。一 查看moosefs垃圾回收时间回收时间是一个文件被删除后还能保留的时间, 单位是秒, 如果被删除的文件过了回收时间,就没法再恢复了,所以第一点要先查看moosefs的文件回收时间在客服端使用mfsgettrashtime命令,查看moosefs文件的回收清空时间

2020-11-19 10:15:16 23182

原创 python中Redis, StrictRedis, ConnectPool的联系与区别

python中Redis, StrictRedis, ConnectPool的联系与区别Redis.\_\_init\_\_(...)ConnectionPool()Redis.set()self.get_connection()self.make_connection()self.release()self.disconnect()先上结论:直接使用 StrictRedis() 即可。三者关系: StrictRedis = Redis > ConnectPool(包含)原因如下:官方考虑向

2020-11-19 10:01:46 26437 1

原创 自定义python日志文件系统

python的日志系统非常实用,可以自定义使用。以下程序是基于logging模块编辑的一个自定义的logging系统,包括自定义日志输出级别、输出格式、输出方式, 自定义日志文件切分方式, 自定义日志分类等功能。# coding=utf-8"""Author: rpldate: 19-12-9 下午2:46desc:"""import osimport socketimport datetimeimport loggingfrom logging import handlers

2020-11-19 09:58:12 22935

原创 Python print, stdout实现屏幕打印刷新

想在终端中做一个时间刷新,结果如下图1. 使用sys.stdoutimport sysimport timedef flush(): for i in range(1000): sys.stdout.write('\r') sys.stdout.write(time.strftime('-- %H:%M:%S')) sys.st...

2020-11-19 09:54:21 23765

原创 ssh密钥配置多个github账号

文章目录一 生成新的ssh密钥二 复制新的公钥到github账号三 配置~/.ssh/config 文件四 测试ssh到github服务器的连接1、查看系统ssh-key代理,执行如下命令2、然后依次将不同的ssh添加代理,执行命令如下:五 注意事项同一台电脑的同一个ssh共钥无法配置到多个github账号。例如公司的电脑ssh公钥配置到公司的github账号后,无法在使用同一个公钥配置个人的github账号。这时候需要生成多个ssh密钥,分别配置给不同的github账户一 生成新的ssh密钥ss

2020-11-19 09:49:23 24363 1

原创 teamviewer 重启失败: Unit teamviewerd.service not found.

teamviewer 卡死,准备重启时,输入:sudo teamviewer --daemon restart结果,出现了下面的错误信息:systemctl start teamviewerd.service Failed to start teamviewerd.service: Unit teamviewerd.service not found. fail 错误信息的大致描述...

2019-10-08 17:52:31 25128 1

原创 pandas DataFrame数据重命名列名的几种方式

文章目录前言一 部分列重命名二 全部列重命名三 str 批量修改列名四 读取csv文件重命名后记前言首先,我们创建一个5行4列的DataFrame数据作为示例,进行演示import pandas as pdimport numpy as npdf = pd.DataFrame(data=np.arange(20).reshape(5,4), columns=['a', 'b', 'c'...

2019-08-28 13:36:31 109645 2

原创 linux 安装 MooseFS 分布式文件系统

文章目录前言一 环境配置、安装包准备1. 配置DNS2. 准备适合的MooseFS安装版本二 安装Master Server三 安装MooseFS CGI 和 CGI Server四 安装MooseFS CLI五 安装 Metadata backup servers(Metaloggers)六 安装 Chunkservers七 用户机安装 Client前言本篇文章,我们将安装 MooseFS ...

2019-08-07 15:51:43 23458

原创 gnome-terminal 终端复用

layout: posttitle: “gome-terminal 终端复用”date: 2019-06-20 12:00:00author: “Rpl”header-img: “img/cpu/4.png”header-mask: 0.5catalog: truetags:技术linuxgnoe-ter...

2019-08-05 17:13:55 27809

原创 mfsmount Transport endpoint is not connected

今天早上 服务器重启后,挂载moosefs共享盘的时候,突然出现了挂载失败的错误:fuse: bad mount point `/mnt/': Transport endpoint is not connected see: /usr/local/mfs/bin/mfsmount -h for help。错误以前出现过,很简单,就是想不起来以前咋解决的,后来一拍脑袋,想到mooesfs文件...

2019-08-05 13:44:25 24779 1

原创 计算linux服务器CPU利用率

文章目录一 通过top查看cpu各类率占用信息二 通过/proc/stat文件查看cpu信息三 cpu占用率计算公式四 代码实现一 通过top查看cpu各类率占用信息如下图所示:usUser time用户时间表示CPU 执行用户进程的时间,包括nice时间。通常期望用户空间CPU 越高越好sySystem time系统时间表示CPU 在内核运行时间...

2019-06-20 15:25:00 31676

原创 ubuntu增加swap交换空间

交换空间swap,打个比方就是你的内存爆满了,系统就会临时把内存里一些暂时不用的数据放到硬盘上,这样内存就会空出来一部分放新的数据。如果需要用之前旧的数据,可以再把它从硬盘上搬回来。本质上交换空间就是硬盘上开辟的一块专门供内存交换数据使用的空间当初服务器装机是默认只有1G的交换空间,结果跑起数据来,内存,交换都直接撑爆了。唯一的办法就是扩展交换空间了。文章目录一, 查看当前系统的swa...

2019-06-17 14:53:52 53393 13

转载 跳过磁盘I/O,从内存中直接读取hdf5文件

工作需求, 大批量从hdfs数据库中读取h5文件。为了加快读取速度,需要将hdfs数据库中的h5文件直接从内存读取出来,不再经过磁盘I/O读写文件。此脚本转载自是stackoverflow,点击此处查看原文传统方式下需要先将文件从数据库中拉下来,写入文件。然后在从文件中读取数据。有了磁盘I/O的读写操作,速度既慢,流程又麻烦。本文的思路是直接从数据库中获取二进制的文件数据,然后创建一个虚...

2019-06-13 11:28:43 27094

翻译 pandas date_range() 生成时间序列

文章目录前言参数解释注意实例日期参数实例其他参数实例 前言pandas中的date_range()函数用来生成一个日期序列,在需要构造一个日期序列的时候非常方便 参数解释pandas.date_range(start=None, end=None, periods=None, freq=None, tz=None, normalize=False, name=Non...

2019-06-12 10:17:48 38884

原创 paramiko模块实现文件夹上传和下载

paramiko模块基于ssh协议,实现了对远程服务器的连接登录,命令执行和文件操作等功能。下面的SSH类, 基于paramiko模块 封装实现了连接登录, 文件上传与下载, 以及文件夹的上传与下载等功能。SSH() 的初始化:import osimport statimport paramikoimport tracebackclass SSH(object): def...

2019-05-10 15:19:32 32964 6

原创 Python求黑洞数

def black_hole_Number(number, pre_number_list=None): number = str(number) number_list = sorted([i for i in number]) min_number = int(''.join(number_list)) max_number = int(''.join(nu...

2019-04-29 09:49:59 31846

原创 linux 多种方法 批量杀死进程(总有一款适合你)

方法一: 强制杀死某个端口号下的所有进程:例:杀死端口8001下的所有进程 sudo fuser -k -n tcp 8001 方法二: 杀死某个命令下的所有进程例: 杀死所有python3 执行的程序sudo killall python3方法三:杀死程序名含有xxx字段的所有进程例:杀死 文件名含 ‘AI_server’的所有进程ps -def |grep 'AI_ser...

2019-04-28 17:41:38 27897 1

原创 Unable to init server: Could not connect: Connection refused

python 代码在linux终端中 使用ssh执行脚本时报错Unable to init server: Could not connect: Connection refusedUnable to init server: 无法连接: Connection refused(run.py:6962): Gdk-CRITICAL **: gdk_cursor_new_for_display...

2019-04-24 18:09:18 46954 1

原创 python 位置参数,默认参数, 可变参数,仅限关键字参数,可变关键字参数的详解及区别

前言在开始讨论python各种类型的参数前,先介绍一个新知识inspect模块, 这个模块可以很好的展示出一个函数的参数信息,如下例:from inspect import signaturedef func(a,b,*var, c, d, e=3, **kw): pass sig = signature(func)sig<Signature (a, b, *...

2019-04-24 17:41:03 28559

翻译 python 仅限关键字参数 keyword-only Arguments

python 仅限关键字参数 keyword-only Arguments摘要原理阐述使用说明摘要本篇PEP提出了一个对函数参数赋值到命名参数槽的方法的改变。特别是,支持声明仅限关键字参数:此种参数只能由关键字提供,绝对不会被位置参数自动填充。原理阐述当前Python的函数调用模式,允许通过位置或关键字指定参数。参数可以通过指定的名字显式填充或通过位置隐式填充。通常情况下,一个函数会需要...

2019-04-22 17:59:00 28522 1

翻译 python 5行代码 求 对称数 Strobogrammatic Number

对称数是一个数字旋转180°后和原来数字一样的数字。例如 n=1: 0, 1, 8 n=2:11, 88, 69, 96 n=3: 101, 808,609, 906,111, 818,619 ...以下是Python5行代码实现的寻找长度为n的所有对称数:def findStrobogrammatic(n): nums = ...

2019-04-22 14:33:54 27571

原创 git常用命令整理

git命令* git clone git地址 克隆远程仓库到本地* git add 文件或目录 工作区添加文件到暂存区* git rm 文件或目录 删除暂存区文件* git checkout -- 文件 从暂存区回退文件到工作区* git commit -m '备注说明' 暂存区递交文件到仓库区* git reset HEAD或版本号 仓库区文件回退到暂存区

2017-09-16 19:48:43 26113

原创 Django 中 python 生成验证码

在Django中做一个简单网页。Python生成验证码,并实现验证

2017-09-06 15:09:09 26456 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除