- 博客(29)
- 收藏
- 关注
原创 PyTorch分类识别例子
PyTorch是很受欢迎的机器学习库,对应库名为torch;'''使用torch识别简单正态曲线'''import torchimport numpy as npfrom scipy.stats import normdef create_norm_zero(x_num): x_base = np.linspace(-6, 6, 100)*x_num y_base = np.linspace(-3, 3, 100) y_show = norm.pdf(x_base)/
2022-05-12 20:50:41
620
原创 Python使用HTTP通讯例子
Http是常用的通讯协议,使用的对应Python库名为requests和Flask;from flask import Flask,request,make_responseapp = Flask(__name__)@app.route('/', methods=['GET', 'PUT', 'POST'])def index(): if request.method == 'GET': if request.args['status'] == 'ok':
2022-04-24 15:40:07
1576
原创 Python使用RPC例子
远程过程调用RPC常用与分布式计算,对应Python库名为rpyc;from multiprocessing import Poolfrom rpyc import Service from rpyc.utils.server import ThreadedServer class RemoteService(Service): def on_connect(self, conn): print(conn) '''供客户端调用的方法前得加expo
2022-04-18 00:20:08
3187
原创 Python使用TCP通讯例子
TCP通讯十分常用,对应Python库为socket;import jsonimport socket tcp_server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)tcp_server.setsockopt(socket.SOL_SOCKET,socket.SO_SNDBUF,65536)tcp_server.setsockopt(socket.SOL_SOCKET,socket.SO_RCVBUF,65536)print(f
2022-04-14 15:35:22
2996
原创 Mqtt简单配置
首先去emqx官方网站下载zip安装包进行解压,防止解压文件损坏不然容易报错;# 解压压缩包unzip emqx-4.4.2-otp24.1.5-3-macos10-amd64.zip# 启动emqx./bin/emqx start# 关闭emqx./bin/emqx stop前往工作目录etc下修改emqx.conf文件;# 修改emqx服务的IP和端口listener.tcp.external = 127.0.0.1:1886# 取消允许匿名登录allow_anonymo
2022-04-11 15:32:34
1335
原创 Python操作Mqtt例子
Mqtt作为消息中间件在设备通讯方面应用广泛,对应Python库名为paho-mqtt;import jsonimport timeimport paho.mqtt.client as mqttdef on_connect(client, obj, flags, rc): if rc == 0: print("connect mqtt server Success") client.subscribe('topic_test_back', 0)def
2022-04-07 20:08:14
1003
原创 Python操作Mysql例子
Mysql是常用的数据库,对应Python3库名为PyMySQL;# 登录MySQLmysql -u root -p# 显示数据库SHOW DATABASES;# 如果存在test_db数据库则删除DROP DATABASE IF EXISTS test_db;# 创建数据库test_dbCREATE DATABASE IF NOT EXISTS test_db DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8
2022-03-31 14:15:10
1351
原创 Redis简单配置
首先去redis官方网站下载tgz.gz安装包进行解压,防止解压文件损坏不然容易报错;tar -zxf redis-6.2.6.tar.gzcd redis-6.2.6make testmake install建立工作目录redis,建立子目录bin、etc、db;# 将解压目录redis-6.2.6里面的src目录下的如下文件拷贝到bin目录下;mkreleasehdr.sh redis-check-aof redis-sentinelredis-benchmark red
2022-03-24 16:29:40
656
原创 Python操作Redis例子
Redis常用来做缓存,对应Python库名为redis;import jsonimport redis# 每个Redis实例都会维护一个自己的连接池,比较耗费开销r = redis.Redis(host='localhost', port=6379, decode_responses=True) # 可以直接建立一个连接池,然后作为Redis的参数,就可以实现多个Redis实例共享一个连接池pool = redis.ConnectionPool(host='localhost', port
2022-03-24 11:44:56
1372
原创 Elasticsearch简单配置
首先去elastic官方网站下载tgz.gz安装包进行解压,防止解压文件损坏不然容易报错;cd elasticsearch-<version>./bin/elasticsearch配置config文件夹中jvm.options文件,将jvm.options复制一份到jvm.options.d文件夹后修改;## java内存配置,不配置的话会根据系统空闲内存尽可能多的配置## 下面两行会将java内存占用配置为4G-Xms4g-Xmx4g配置config文件夹elas
2022-03-22 14:54:03
2801
原创 Python操作Elasticsearch例子
分布式搜索引擎Elasticsearch非常受欢迎,对应Python库为elasticsearch;from elasticsearch import Elasticsearch# 连接引擎es = Elasticsearch(hosts=['127.0.0.1:9200'],http_auth=('elastic','password'))# 创建索引es.indices.create(index='test-index', ignore=400)# 删除索引es.indices.del
2022-03-22 14:06:43
2821
原创 Kafka简单配置记录
首先去Apache Kafka网站下载tgz安装包进行解压,防止解压文件不然损坏容易报错;tar -xzvf kafka_2.13-3.1.0.tgzcd kafka_2.13-3.1.0之后去kafka文件夹目录启动zookeeper和kafka服务;bin/zookeeper-server-start.sh config/zookeeper.propertiesbin/kafka-server-start.sh config/server.properties &配置z
2022-03-21 20:29:48
803
原创 Python操作Kafka例子
Kafka作为消息中间件是非常受欢迎的,对应Python库名为kafka-python;import jsonimport tracebackfrom kafka.errors import kafka_errorsfrom kafka import KafkaProducer, KafkaConsumerproducer = KafkaProducer(bootstrap_servers=['localhost:9092'], key_s
2022-03-21 19:46:47
3228
原创 Ubuntu18.04设置开机启动
项目部署在Ubuntu上的时候经常需要设置程序开机启动,通常使用systemctl模块来实现;需要创建一个.service文件放入/etc/systemd/system路径以供系统开机时调用;[Unit]# 此项服务的描述Description=emqx-server# 此项服务在某项服务后启动After=network-online.target[Service]# 启动类型forkType=forking# 指定环境变量Environment=HOME=/usr/local
2022-03-05 23:23:59
1780
原创 Python读取路径下文件
Python标准库glob在读取路径下文件时特别好用;import globimport numpy as npimport matplotlib.pyplot as pltfilepath = './data/*.csv'for file in glob.glob(filepath): ydata = np.loadtxt(file, dtype=np.float64, skiprows=1) xdata = np.linspace(0,1080,len(ydata))
2022-02-25 11:18:14
2335
原创 Python内置TCP服务器
TCP通信应用比较广泛,Python自带模块socketserver提供了一些现成的TCP服务器可供调用;import socketimport threadingimport socketserverclass ThreadedTCPRequestHandler(socketserver.BaseRequestHandler): '''处理客户端请求对应的类''' def handle(self): '''收到请求后执行的处理函数''' dat
2022-02-17 11:23:09
2658
原创 Python操作csv文件数据
最近发现pandas模块十分好用,常用于数据分析,下面是关于csv数据的读写:import pandas as pd df_read = pd.read_csv('out.csv')df_read_dict = df_read.to_dict('list')df_read_dict['10'] = [10,10,10,10,10,10,10,10,10,10]df_write = pd.DataFrame(df_read_dict)df_write.to_csv('out.csv'
2021-09-11 23:45:10
204
原创 Python读写yaml文件
最近发现yaml格式文件用来做配置文件十分好用,阅读起来比xml好太多了,后缀也可以是yml;Python对应库名为ruamel.yaml;from ruamel.yaml import YAMLyaml = YAML(typ="safe")file = open('./config.yaml', 'r', encoding="utf-8")config_dict = yaml.load(file)file.close()from ruamel.yaml import YAML
2021-09-07 21:58:21
398
原创 Python进程间广播服务
最近发现zeroconf这个模块十分好用,可以在进程间广播一些服务信息,下面列出服务端广播和浏览端查收两部分代码;import socketfrom zeroconf import * desc = {'path': '/~pennyworth/'}info = ServiceInfo("_http._tcp.local.", "Hope's Test Web Site._http._tcp.local.", soc
2021-08-30 21:21:57
503
原创 Python使用zmq简单操作
最近发现ZMQ中的ROUTER-DEALER模式十分好用,经销商DEALER需要配置一个ID,对应路由ROUTER根据ID来收发消息;context = zmq.Context() socket = context.socket(zmq.ROUTER)socket.bind("tcp://*:5555")while True: recv_id,data = socket.recv_multipart() print(recv_id.decode(),data.decode())
2021-08-29 11:04:52
1318
原创 Python并发运行协程
最近发现asyncio这个模块对我来说十分新鲜,开启协程来实现单线程异步并发;首先定义两个async异步协程,使用await来开启对I/O操作的等待,此处使用asyncio.sleep模拟:async def async_1(): for i in range(3): print("hello A",i) await asyncio.sleep(1) print("world A",i)async def async_2(): f
2021-08-29 00:20:02
182
原创 Python实现ping的功能
ping在日常工作中十分常用,游戏中可以用来显示网络的延时情况、设备互联时可以判断网线是否插好,python中可以通过pythonping模块的ping方法来实现;from pythonping import pingresponses = ping('www.baidu.com')print(responses.rtt_avg_ms)其中ping方法的返回值有个rtt_avg_ms属性可以用来显示网络延时或者判断网络连通状态。...
2021-08-15 01:36:01
2014
原创 Python实现异常重启
最近遇到代码稳定性问题,运行一段时间就会自己出现个bug,暂时没找到解决的办法,不过发现重新运行一下还是可以跑的,所以使用try和except捕获异常后循环运行主程序,不失为权宜之计。import time def main(): while True: time.sleep(1.2) print('running')if __name__ == '__main__': while True: try:
2021-08-11 20:23:53
1616
原创 Python操作Excel文件
最近有向Excel写数据的需求,发现openpyxl这个模块十分好用:tabnum = 1workbook = openpyxl.open('./test.xlsx')worksheet = workbook.activeworksheet['H'+str(tabnum)] = 'hello'worksheet['I'+str(tabnum)] = 'world'workbook.save('test.xlsx')别处创建的Excel不一定能顺利open,可以如下新建:workbo
2021-08-10 22:15:48
75
原创 Python获取字符编码
最近在读取TXT文件时候,遇到读取失败问题,如下:'utf-8' codec can't decode byte 0xbf in position 28: invalid start byte此时,可以使用chardet模块中detect方法获取字符编码的格式:with open(file, "rb") as f: data_bytes = f.readline() data_encode = chardet.detect(data_bytes).get('encodin.
2021-08-10 21:44:15
1228
原创 Python使用窗口打开文件
最近有一个读取TXT文件的需求,每次都要到代码里修改要打开的文件名,十分麻烦,搜罗了一下如何使用窗口打开文件,发现easygui这个模块的fileopenbox十分好用;import easyguifile = easygui.fileopenbox(default='/Users/user/Downloads/class/*.txt')print(file)with open(file) as f: while True: data = f.readline() if len(
2021-07-26 20:17:10
2036
原创 Python日志loguru模块的使用
from loguru import loggerlogger.add('log.log',retention='10 days')logger.info('this is first log')
2021-07-14 21:02:48
272
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人