自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hbase报错TTransportException(type=4,message=’TSocket read 0 bytes’)解决方案

hbase报错TTransportException(type=4,message=’TSocket read 0 bytes’)(1)报错信息:thrift.transport.TTransport.TTransportException: TSocket read 0 bytes(2)产生原因:是因为thrift 的server端和client端的协议不匹配造成的。Python要使用TCompactProtocol,而不能使用TBinaryProtocol。TBinaryProtocol:缺

2020-05-15 10:20:11 11251

原创 Flink-CEP基于web日志检测暴力破解和异地登陆行为代码示例

Flink-CEP基于web日志检测暴力破解和异地登陆行为代码示例

2023-10-24 14:01:06 145

原创 利用crontab和shell脚本实现对应用程序的守护

这个命令表示每分钟执行一次monitor.sh脚本。其中">/dev/null 2>&1"的作用是将脚本的输出重定向到/dev/null,这样就不会生成日志文件。linux中利用crontab 以及shell脚本来监控一个名为aaa.py的程序,当aaa.py没有运行时 则将其运行起来。这个脚本的作用是检查aaa.py是否在运行中,如果不在,则启动它。

2023-06-15 15:28:19 186

原创 通过shell从一个文件夹中随机挑选一批文件

通过shell命令从一个文件夹中随机挑选一批文件添加到另一文件夹。将上述代码保存到一个以.sh命名的文件中 然后bash执行即可。

2023-06-13 10:54:45 583

原创 利用shell脚本将文件夹中的文件做均分

利用shell脚本将文件夹中的文件做均分

2023-06-08 10:25:32 345

原创 利用zip函数实现对python字典中的值进行排行

利用zip函数实现对python字典中的值进行排行

2023-04-06 15:16:01 432 1

原创 利用Python实现系统监控脚本

利用python实现系统监控

2023-01-30 13:39:27 1376

原创 FLink-jdbcsink读取kafka数据写入postgres

记录一次使用FLink流式读取kafka数据并用jdbcsink写入postgres时,遇到的问题:即:程序正常运行,但写入没有反应,数据库中无记录。

2022-12-05 09:57:32 1724 4

原创 postgres批量操作高性能写法

postgres批量操作高效写法

2022-11-28 15:45:15 592

原创 解决Python对Postgres批量操作解决单值元组引发的报错

解决python批量操作postgres,当values为单元素元组时引发的报错

2022-11-28 15:20:34 364

原创 Python将时间数据转换成datetime.datetime类型

适配数据库表timestamp类型字段,将时间数据转为datetime.datetime类型

2022-11-28 14:54:37 3164

原创 Nanoid一款比UUID更快更安全的随机值生成方式

nanoid 一款高效安全的随机值生成方式

2022-07-06 14:16:53 496

原创 Nacos服务部署及配置读取

nacos服务通过docker部署以及使用python进行配置读取的demo

2022-06-13 17:24:07 550

原创 java中对字符串的常用处理

java中对字符串的常用取值方法public class stringPro { public static void main(String[] args) { String strData = "a-bc"; // 返回指定字符在字符串中的索引位置 int strIndex = strData.indexOf("-"); System.out.println(strIndex); System.out.printl

2022-04-29 11:08:50 530

原创 Python通过schedule调度模块实现任务定时执行

python通过schedule调度模块实现任务定时执行基本用法:import scheduleimport timefrom datetime import datetimedef job(): #print("I'm working...") now = datetime.now() time = now.strftime("%H:%M:%S") print (f'现在的时间是: {time}')#schedule.every().second.do(j

2022-04-19 16:23:54 1592

原创 Python通过装饰器实现对代码函数模块运行时长的监控

Python用装饰器实现对代码模块运行时长的监控代码:# 可监控程序运行时间import timedef clock(func): def wrapper(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print("共耗时: %s秒" % round(end_time - sta

2022-04-19 15:34:50 504

原创 Python字符串拼接变量的优雅写法

Python字符串拼接变量的优雅写法方法:在python中 字符串前加 f表示:在字符串内支持大括号内的python表达式import timename = "tom"# 常规写法print("his name is " + name + "!")print("present time is "+ str(int(time.time())))# 分隔符print('&'*50)# 优雅效率写法print(f"his name is {name}!")print(f

2022-04-19 13:56:24 793

原创 利用gevent实现web服务先返回结果然后在处理数据

利用threading实现web服务先返回结果然后在处理数据一、功能:web服务中,先将success结果返回给前台 然后在执行具体的数据处理函数二、运行:step1:/usr/local/lib/python3/bin/gunicorn -k gevent run:app -b 0.0.0.0:9000 -w 8step2:然后另起终端执行 curl http://127.0.0.1:9000/demo三、脚本demo:vim run.pyfrom flask import Flaski

2022-01-11 15:26:16 531 1

原创 python装饰器实现捕获函数执行用时

python装饰器实现捕获函数执行用时示例程序:import time# 定义可捕获程序运行时间的装饰器def clock(func): def wrapper(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print("共耗时: %s秒" % round(end_time - s

2022-01-06 10:49:19 188

原创 一款超好用的python的log记录工具——loguru

一款超好用的python的log记录工具—loguru1. 安装pip install loguru2. 使用简介2.1 add()函数在loguru中,只需要通过一个add()函数即可设置Handler,设置Formatter,Filter Message,rotation,retention以及设置Level等配置项。示例:from loguru import loggerimport sys# 过滤出含有“filter_message”的error信心输出到系统命令行logg

2021-12-17 10:28:02 2423

原创 supervisor监控的进程中print语句获取不到输出的问题

supervisor监控的进程中print语句没有输出问题在supervisor的ini进程配置文件中,command 参数中python3 执行 要加-u 不然会因为缓冲区的问题 导致日志没有写进stdout_logfile的文件。

2021-11-18 11:34:55 889

原创 python利用socket实现telnet功能-检查服务是否开放

python利用socket实现telnet功能-检查服务是否开放代码如下:例如:想知道10.255.123.23这台服务器上的postgres数据库是否开放,可通过如下代码import socketdef telnet(ip,port): s = socket.socket(socket.AF_INET,socket.SOCK_STREAM) try: s.connect((ip,int(port))) s.shutdown(2)

2021-09-07 11:05:09 431

原创 docker搭建nginx文件下载服务

docker搭建nginx文件下载服务一、下载nginx镜像(1)docker pull nginx二、配置Nginx(1)生成nginx容器在宿主机下的挂载目录mkdir -p /home/nginx /home/nginx/sharefiles(2)生成nginx配置文件并编辑内容cd /home/nginx/vi nginx.conf编辑如下内容:user root;worker_processes auto;error_log /var/log/nginx/error.l

2021-08-02 16:18:45 628

原创 Python判断一个数据结构是否为空的方法

Python判断一个数据结构是否为空的方法最近在看《Effective Python》,里面提到判断字符串或者集合是否为空的原则,原文如下:Don’t check for empty values (like [] or ‘’) by checking the length (if len(somelist) == 0). Use if not somelist and assume empty values implicity evaluate to False.意思是:不要通过取字符串或者集合的长

2021-05-28 11:16:47 1962

原创 流式处理框架的演变

流式处理框架的演变一、 传统数据处理的架构1.1 事务处理(1)简介:数据计算(compute)和数据存储分开(storage),实时与数据库进行交互并给用户response。(2)优点:实时性高。(3)缺点:能够同时处理的数据量有限,不能应对高并发。1.2 分析处理(1)简介:把数据从业务数据库进行ETL清洗、整合、提取出来,然后统一放到数据仓库中去,然后用数据分析的引擎进行查询分析处理,最后将结果生成报表或即席查询(注:即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,

2021-04-12 15:47:51 1864

转载 Python 计算整分钟,整小时,整天的时间

Python 计算整分钟,整小时,整天的时间# -*- coding:utf-8 -*-import datetimedef get_hourly_chime(dt, step=0, rounding_level="s"): """ 计算整分钟,整小时,整天的时间 :param step: 往前或往后跳跃取整值,默认为0,即当前所在的时间,正数为往后,负数往前。 例如: step = 0 时 2019-04-11

2021-03-11 13:58:25 1528

原创 postgres数据库的库表备份恢复

postgres数据库的库表备份恢复一、单表备份(0)前言用户名:postgres数据库:test表明:test_table表备份输出的文件:/var/lib/pgsql/test_table.sql(1)备份命令:pg_dump -U postgres test -t test_table -f /var/lib/pgsql/test_table.sql(2)恢复命令:psql -U postgres -d test < /var/lib/pgsql/test_table.s

2021-03-08 10:40:48 332 2

原创 python实现log日志输出并管理日志文件

python实现log日志输出并管理日志文件功能:用于py脚本的log记录, 以天为单位(每天都会生成一个新的log文件),log文件在目录下最多保留7天创建脚本:建立log.py文件,内容如下:import osimport timeimport loggingimport datetimefrom logging import handlersdef record(**kwargs): filename = kwargs['filename'] level = k

2021-01-29 16:48:02 1405

原创 利用python3的ipaddress包实现ip内外网判定

利用python3的ipaddress包实现ip内外网判定代码如下:from ipaddress import IPv4Addressdef judge_ip_private(ip_data): ''' 返回值True为内网,False为外网 ''' result = IPv4Address(ip_data).is_private return resultprint(judge_ip_private('10.255.11.22')) # 输出:True

2021-01-28 14:16:59 656 2

原创 利用Idea中Gson插件快速编辑POJO类

利用Idea中Gson插件快速编辑POJO类(1)需求说明现在有一个hashmap,想写一个POJO类实现它所有字段的get、set方法,当hashmap中字段较多的时候,过程会变成很繁琐的体力活,综上所述可以使用idea中的Gson插件快速实现POJO类的编写。(2)安装Gson插件IDEA中点击file—>setting—>plugins在搜索框中输出Gson,这里选在安装了GsonFormatPlus(3)建立POJO类文件在新建的class文件中,将光标移动到class结构

2021-01-26 10:41:25 1163

原创 python中‘\u‘开头的字符串编码转中文

python中’\u’开头的字符串编码转中文如图所示解决办法:当字符串中遇到以\u开头的编码转换成中文显示可以这样做:python3的解决办法:字符串.encode(‘utf-8’).decode(‘unicode_escape’)python2:字符串.decode(‘unicode_escape’)结果如下:...

2021-01-05 11:13:01 3451 3

原创 Linux修改系统时间信息

Linux修改系统时间信息(1)修改所在时区cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime(2)修改当前时间root下使用date指令:date -s来实现修改系统时间date -s “2007-08-03 14:15:00”(3)把系统时间写入CMOS把系统时间写入硬件 以免重启后时间被还原输入指令:clock -w...

2020-12-24 14:09:40 78

原创 进程、线程、协程区别以及通俗理解

进程、线程、协程区别以及通俗理解请仔细理解如下的通俗描述有一个老板想要开个工厂进行生产某件商品(例如剪子)他需要花一些财力物力制作一条生产线,这个生产线上有很多的器件以及材料这些所有的 为了能够生产剪子而准备的资源称之为:进程只有生产线是不能够进行生产的,所以老板的找个工人来进行生产,这个工人能够利用这些材料最终一步步的将剪子做出来,这个来做事情的工人称之为:线程这个老板为了提高生产率,想到3种办法:(1)在这条生产线上多招些工人,一起来做剪子,这样效率是成倍増长,即单进程 多线程方式(2)老

2020-07-28 17:28:23 454

原创 解决clickhouse插入数据因占位符报错

解决clickhouse插入数据因占位符报错解析:可能是clickhouse_driver的插入语句中不支持用%s占位符操作导致如下报错(一开始被误导了 一直认为是values中有null值导致的)正确方法详情见代码中的示例,values需要构造成 [{‘表中字段’:‘值’}] 形式代码示例:from clickhouse_driver import Clientdef main(): # 错误示例 # sql = ("insert into table_zy(id,t

2020-06-22 15:51:05 1615 3

原创 用数据库api中mogrify方法处理sql中特殊转义字符

用数据库api中mogrify方法处理sql中特殊转义字符问题:以一个url(json解码后的,存在转义字符)为查询条件去数据表中查找内容 出现报错分析:\u0027为单引号“‘”的unicode转义表示 在sql语句中不能适用介绍:mogrify可以将复杂的语句转换为正常的格式 用法见如下代码#!/usr/bin/python# -*- coding: UTF-8 -*-import psycopg2import psycopg2.extrasimport jsonimport dem

2020-06-18 15:51:29 685

原创 遍历获取一个路径下所有子文件夹及文件

遍历获取一个路径下所有子文件夹及文件# -*- coding:utf-8 -*-import osdef get_dir_file(rootdir): objects = os.listdir(rootdir) dir_list = [] #存放目录列表 file_list = [] #存放文件列表 for obj in objects: judge_dir = os.path.isdir(os.path.join(rootdir, obj))

2020-06-04 10:14:10 386

原创 Python爬虫增加网站访问量

Python爬虫增加网站访问量代码:# -*- coding: UTF-8 -*-import urllib2import socketimport timeimport randomimport BeautifulSoup '''代理池网址:https://www.xicidaili.com/wt函数功能:通过爬虫爬取代理池网站中的ip:port并写入一个名为proxy的文本中'''def get_IPlist(): User_Agent = 'Mozilla/5.0

2020-05-25 15:43:53 646

原创 python列表推导式用法

python列表推导式用法两种构建模式:(1) 循环模式: [变量(加工后的变量) for 变量 in iterable]1. 将10以内所有整数写入列表a = [i for i in range(1,11)]print(a)# 输出结果[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]2. 将10以内所有整数的平方写入列表。a = [i**2 for i in range(1, 11)]print(a)(2) 筛选模式: [变量(加工后的变量) for 变量 in i

2020-05-12 13:52:09 568

转载 Effective Python之编写高质量Python代码的59个有效方法

Effective Python之编写高质量Python代码的59个有效方法参考链接:https://www.cnblogs.com/xiaobingqianrui/p/10167398.html

2020-05-12 13:41:41 261

原创 Python中enumerate方法

Python中enumerate方法用法:enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。示例:a = ['aa','bb','cc']for index,value in enumerate(a): print(index,value)'''输出结果:0 aa1 bb2 cc'''...

2020-05-12 13:39:14 177 2

空空如也

空空如也

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

TA关注的人

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