Python基础知识-2

名片管理系统
def addHandler():print("添加名片")def deleteHandler():IsDelete = input("(づ ̄3 ̄)づ╭❤~亲~您确定要删除名片吗?Yes/No").upper()if (IsDelete == 'YES'):print("删除名片")else:print("删除失败")def editHandler():print("修改名片")def queryHandler():print("查询名片")def showHandler():print("展示名片")def start():operate = int(input("请输入要操作的数字"))while True:print("------------------------------\n名片管理系统v1.0\n1:添加名片\n2:删除名片\n3:修改名片\n4:查询名片\n5.显示名片")if (operate == 1):addHandler()breakelif (operate == 2):deleteHandler()breakelif (operate == 3):editHandler()breakelif (operate == 4):queryHandler()breakelse:showHandler()breakstart()

Socket

UDP发送协议
import socket
# 1.创建socketd,并连接
# AF_INET:表示这个socket是用来进行网络连接
# SOCK_DGRAM:表示连接是一个UDP连接
socketDemo = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 发送数据
# data:表示要发送的数据,他是二进制数据
# address:发送给谁,参数是一个元祖,元祖里有两个元素
socketDemo.sendto("下午好".encode('utf8'), ('192.168.31.199', 9090))
UDP接收数据
data, address = socket.recvfrom(buffer_size)
#socket 是一个已经建立好的套接字对象,buffer_size 表示一次可以接收的最大数据量。当有数据到达时,recvfrom() 会将其存储到 data 变量中,并返回一个包含发送端地址信息的元组 address。如果没有数据可接收,recvfrom() 会阻塞等待,直到有数据到达为止。
import socket
socketRev = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)socketRev.bind(('192.168.31.11', 9090))
content = socketRev.recvfrom(1024)
print(content)
tcp
import socket# 创建一个TCP socket对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定服务器地址和端口号
server_address = ('localhost', 8888)
server_socket.bind(server_address)# 设置socket为被动模式,监听客户端连接请求
server_socket.listen(5)
print('Server is waiting for connection...')# 接受客户端连接请求并处理数据
client_socket, client_address = server_socket.accept()
print(f'Connection from {client_address}')
tcp文件下载案例
客户端
import socket# 基于tcp协议的socket连接
tcpSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 在发送数据前,建立和服务器的连接
tcpSocket.connect(('192.168.31.11', 9090))tcpSocket.send('names.txt'.encode('utf8'))
txtContent = tcpSocket.recv(1024).decode('utf8')
print(txtContent)
服务端
import socket
import os
sever_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sever_socket.bind(('192.168.31.11', 9090))
sever_socket.listen(128)# 接收客户端的请求
cliend_socket, client_addr = sever_socket.accept()
data = cliend_socket.recv(1024).decode('utf8')
print('接收到了来自{}地址端口{}的数据,内容是{}', data)if os.path.isfile(data):with open(data, 'r', encoding='utf8') as file:content = file.read()cliend_socket.send((content.encode('utf8')))
else:print('文件不存在')
多线程 threading
import threadingdef singgle():print("唱歌跳舞")t1 = threading.Thread(target=singgle)
t1.start()
多线程生产案例
import time
import queue
import threading
q = queue.Queue()def consumer():for i in range(10):time.sleep(1)print("买到了面包{}".format(q.get()))def produce():for i in range(20):print("生产了面包")q.put("bread{}{}".format(threading.current_thread().name, i))Prot1 = threading.Thread(target=produce, name='pr')t2 = threading.Thread(target=consumer, name='com')
Prot1.start()t2.start()
多进程
import multiprocessing
import timedef dance(m):for i in range(m):time.sleep(0.5)def sing(m):for i in range(m):time.sleep(0.5)print("正在唱歌")if __name__ == '__main__':p1 = multiprocessing.Process(target=dance, args=(10,))p2 = multiprocessing.Process(target=sing, args=(10,))p1.start()p2.start()
多进程间的通信

Python多进程间的通信可以通过以下几种方式实现:

  1. 队列(Queue):使用multiprocessing模块中的Queue类,该类提供了线程安全的队列实现,支持多个进程同时读写。一个进程向队列中放入数据,另一个进程从队列中取出数据。
  2. 管道(Pipe):使用multiprocessing模块中的Pipe类,该类提供了一个两端都能够发送和接收数据的管道,可以实现进程之间的双向通信。
  3. 共享内存(Shared Memory):使用multiprocessing模块中的Value和Array类,可以在多个进程之间共享一块内存区域,并对其进行读写操作。
  4. 进程池(Pool):使用multiprocessing模块中的Pool类,该类可以创建一组子进程,并把任务分配给它们,最后将所有子进程的结果合并起来。这种方式适用于需要在大量数据上执行相同操作的场景。

需要注意的是,由于多进程之间是独立的,它们之间的通信会带来一定的开销,因此在选择通信方式时需要根据具体情况进行权衡和选择。

wsgiref服务器
from wsgiref.simple_server import make_serverdef demoApp(environ, start_response):status = '200 OK'path = environ['PATH_INFO']response = 'hello'print(path)if path == '/':response = '欢迎来到我的首页'elif path == '/test':response = '欢迎来到阿里test首页'else:response = '页面走丢了'headers = [('Content-Type', 'text/html;charset=utf8')]start_response(status, headers)return [response.encode('utf8')]if __name__ == '__main__':httpd = make_server('', 8080, demoApp)sa = httpd.socket.getsockname()print("Serving HTTP on", sa[0], 'prot', sa[1])# import webbrowser
# 打开电脑的浏览器,并在电脑浏览器里输入地址# webbrowser.open("http://192.168.31.11:3000/")httpd.serve_forever()
安装Nginx
yum安装
sudo yum install nginxcd /ectvim nginx
服务监听
ps

作用:查看进程信息:

​ ps -aux

kill

作用:杀死进程

​ kill -9 PID

netstat

Mysql

show databases;

登录数据库
mysql -uroot -h 127.0.0.1 -p
创建数据库
create database xxxcharset=utf8;
切换表
use xxx
创建数据库表格内容
create table student(id int primary key auto_increment comment "用户的唯一表示",name varchar(128),age int)charset=utf8;
删除表格
drop table <tablename> 删除表格
移动表格
alter table <tablename> rename to <new Tablename>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/8206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GB/T 25000.51解读——软件产品的易用性怎么测?

GB/T 25000.51-2016《软件产品质量要求和测试细则》是申请软件检测CNAS认可一定会用到的一部国家标准。在前面的文章中&#xff0c;我们为大家整体介绍了GB/T 25000.51-2016《软件产品质量要求和测试细则》国家标准的结构和所涵盖的内容以及对软件产品的八大质量特性中的功能性…

安全初级:字符编码

字符编码 字符编码&#xff1a;是一种映射规则&#xff0c;根据映射规则将字符映射成其他形式的数据在计算机中存储和传输。 常用的编码 编码制定时间作用ASCII1967表示英语及西欧语言GB23121980国家简体中文字符集&#xff0c;兼容ASCIIUnicode1991国际标准化组织统一标准字…

自定义MVC

目录 一.什么是MVC 1.1.三层架构和MVC的区别 二.自定义MVC工作原理图 三.自定义mvc实现 3.1 创建web工程 3.2 中央处理器 3.3 Action接口定义 3.4 实现子控制器 3.5 完善中央控制器 3.5.1 请求分发功能 3.5.2 使用配置文件配置action 3.5.3 请求参数处理 1. 定义接…

[JAVAee]阻塞队列

阻塞队列的含义 有队列这两个字的,少不了"先进先出"这个特性 阻塞队列是一种线程安全的数据结构,主要的特性有: 当队列满的时候, 继续入队列就会阻塞, 直到有其他线程从队列中取走元素.当队列空的时候, 继续出队列也会阻塞, 直到有其他线程往队列中插入元素. 阻塞…

DTH11 温湿度模块

文章目录 前言一、DTH11 模块介绍二、设备树设置三、驱动程序四、测试程序五、上机测试及效果总结 前言 DHT11 是一款可测量 温度 和 湿度 的传感器。比如市面上一些空气加湿器&#xff0c;会测量空气中湿度&#xff0c;再根据测量结果决定是否继续加湿。 一、DTH11 模块介绍 …

iOS 单元测试之常用框架 OCMock 详解

目录 前言&#xff1a; 一、单元测试 1.1 单元测试的必要性 1.2 单元测试的目的 - 约束条件是否通过形式参数来传送。 1.3 单元测试依赖的两个主要框架 二、OCMock 的集成与使用 2.1 OCMock 的集成方式 2.2 OCMock 的使用方法 2.3 mock 使用限制 前言&#xff1a; OC…

【unity】ShaderGraph学习笔记

【unity】ShaderGraph学习笔记 创建ShaderGraph 创建URP的shaderGraph文件 在Project面板里Create→ShaderGraph→URP→这里主要有几个选项 Lit Shader Graph&#xff1a;有光照三维着色器 Unlit Shader Graph&#xff1a;无光照三维着色器 Sprite Custom Lit Shader Gra…

Linux常用操作命令集合

1、 开机启动脚本的设置 如何增加一个服务&#xff1a; 服务脚本必须存放在/etc/ini.d/目录下&#xff1b;&#xff08;具体请参照Centos JDK 和tomcat部署笔记&#xff09; chkconfig --add servicename在chkconfig工具服务列表中增加此服务&#xff0c;此时服务会被在/etc/r…

Elasticsearch 简单搜索查询案例

1.MySql表结构/数据 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for user_lables -- ---------------------------- DROP TABLE IF EXISTS user_lables; CREATE TABLE user_lables (id varchar(255) DEFAULT NULL COMMENT 用户唯一标识,age…

CNN(卷积神经网络)的实现过程详解

概要 在图像处理领域&#xff0c;CNN(卷积神经网络)处于绝对统治地位&#xff0c;但对于CNN具体是如何用神经网络实现的&#xff0c;能找到的介绍要么是一大堆数学公式&#xff0c;要么是大段晦涩的文字说明&#xff0c;读起来很是辛苦&#xff0c;想写好一片完整的而且有深度的…

【开源项目】低代码数据可视化开发平台-Datav

Datav 基本介绍 Datav是一个Vue3搭建的低代码数据可视化开发平台&#xff0c;将图表或页面元素封装为基础组件&#xff0c;无需编写代码即可完成业务需求。 它的技术栈为&#xff1a;Vue3 TypeScript4 Vite2 ECharts5 Axios Pinia2 在线预览 账号: admin 密码: 123123预…

Spring Cloud+Spring Boot+Mybatis+uniapp+前后端分离实现知识付费平台免费搭建

Java版知识付费-轻松拥有知识付费平台 多种直播形式&#xff0c;全面满足直播场景需求 公开课、小班课、独立直播间等类型&#xff0c;满足讲师个性化直播场景需求&#xff1b;低延迟、双向视频&#xff0c;亲密互动&#xff0c;无论是互动、答疑&#xff0c;还是打赏、带货、…

Redis底层封装细节

日常我们程序员在使用redis做缓存的时候&#xff0c;很少会直接使用到RedisTemplate直接操作k-v键值对&#xff0c;而是通过对RedisTemplate原生代码的封装&#xff0c;来构建我们日常便于使用习惯的代码来操作数据&#xff0c;这里我分享一下日常基本的对RedisTemplate底层的封…

[nlp] tokenizer加速:fast_tokenizer=True

fast_tokenizer 是一个布尔值参数,用于指定是否使用快速的 tokenizer。在某些情况下,使用快速的 tokenizer 可以加快模型训练和推理速度。如果 fast_tokenizer 参数为 True,则会使用快速的 tokenizer;否则,将使用默认的 tokenizer。 快速的 tokenizer 通常使用一些技巧来减…

使用Newtonsoft直接读取Json格式文本(Linq to Json)

使用Newtonsoft直接读取Json格式文本&#xff08;Linq to Json&#xff09; 使用 Newtonsoft.Json&#xff08;通常简称为 Newtonsoft&#xff09;可以轻松地处理 JSON 格式的文本。Newtonsoft.Json 是 .NET 中一个流行的 JSON 处理库&#xff0c;它提供了丰富的功能和灵活性。…

微信小程序实现蓝牙开锁、开门、开关、指令发送成功,但蓝牙设备毫无反应、坑

文章目录 开源htmlJavaScript 开源 wx联系本人获取源码(开源): MJ682517 html <view><view class"p_l_36 p_r_36"><input class"w_100_ h_80 lh_80 ta_c b_2s_eee radius_20" value"{{instructVal}}" type"text" plac…

RocketMq 事务消息原理

Rocketmq 事务消息API使用 使用TransactionMQProducer类。 实现TransactionListener 接口覆盖其方法executeLocalTransaction和checkLocalTransaction 即可。 其中executeLocalTransaction 执行本地方法和checkLocalTransaction 事务状态回查。 玩法 简历一张本地事务表&…

51单片机定时器

51单片机定时器 1.简介 C51中的定时器和计数器是同一个硬件电路支持的&#xff0c;通过寄存器配置不同&#xff0c;就可以将他当做定时器 或者计数器使用。 确切的说&#xff0c;定时器和计数器区别是致使他们背后的计数存储器加1的信号不同。当配置为定时器使 用时&#xff0…

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测

回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现TCN-BiGRU时间卷积双向门控循环单元多输入单输出回归预测预测效果基本介绍模型描述程序设计参考资料 预测效果 ![6 基本介绍 1.MATLAB实现TCN-BiGRU时间卷积双向门控循…

JSON格式Python,Java,PHP等封装获取淘宝商品详情描述数据API

淘宝是一个网上购物平台&#xff0c;售卖各类商品&#xff0c;包括服装、鞋类、家居用品、美妆产品、电子产品等。要获取淘宝天猫商品详情描述数据&#xff0c;您可以通过开放平台的接口或者直接访问淘宝天猫商城的网页来获取商品详情详细信息。以下是两种常用方法的介绍&#…