Python 学习笔记(0531)

Linux下查看已安装模块

[root@dewan01 list]# pydoc modules
## 或者
>>> help("modules")

执行pip -V 报错

ModuleNotFoundError: No module named 'pip._internal'

百度办法:

## vim /usr/bin/pip
#from pip._internal.cli.main import main ## 将此行注释,添加下面一行
from pip import main
## 验证
[root@dewan01 bin]# pip -V
pip 9.0.3 from /usr/lib/python3.6/site-packages (python 3.6)

UDP通信的例子
建一个新的目录,在其中创建 udp_server.p、udp_client.py
[root@dewan01 test]# cat udp_server.py

import socket
server = socket.socket(type=socket.SOCK_DGRAM)  # type=socket.SOCK_DGRAM 指定成 UDP 协议  type=socket.SOCK_STREAM TCP协议(默认就是,不用指定)
server.bind(('127.0.0.1', 8088))
# UDP 不需要设置半连接池(server.listen(5)),也没有半连接池的概念
# UDP 没有双向通道,所以也不需要建立连接(conn, addr = server.accept())
# 直接就是通信循环
while True:  # 这里只需要直接通信(交互)即可
    data, addr = server.recvfrom(1024)
    print("数据:", data.decode('utf-8'))  # 客户端发来的消息
    print("地址:", addr)  # 客户端的地址
    re_msg = input("Please input your response msg:").strip()  # 会阻塞在这里,这里过了,才能发出信息,看到下一条信息
    server.sendto(re_msg.encode('utf-8'), addr)  # 向客户端发送消息

[root@dewan01 test]# cat udp_client.py

import socket
client = socket.socket(type=socket.SOCK_DGRAM)
# UDP 不需要建立连接(client.connect(('127.0.0.1', 8088)))
server_addr = ('127.0.0.1', 8088)  # UDP sendto发消息时需要一个服务器的地址及端口号
while True:
    msg = input("Please input your msg:").strip()
    client.sendto(msg.encode('utf-8'), server_addr)  # 向服务器发送数据,要附带服务器端地址及端口(基于网络传输的数据都必须是二进制的)
    data, msg_from_server_addr = client.recvfrom(1024)  # 收到消息,且得到地址
    print("服务端发来的数据:", data.decode('utf-8'))
    print("服务器端的ip及端口", msg_from_server_addr)

开始验证:
启动

## 先启动client,会提示如下。此时由于服务端未启动,所以即便输入也不会有反馈。
[root@dewan01 test]# python udp_client.py
Please input your msg:
## 启动server,开始监听8088端口传来的信息。可以看到8088端口已经启动监听。
[root@dewan01 test]# python udp_server.py

[root@dewan01 bin]# netstat -anp | grep 8088
udp        0      0 127.0.0.1:8088          0.0.0.0:*                           24647/python

交互

## 在客户端输入hi,回车:
[root@dewan01 test]# python udp_client.py
Please input your msg:hi

## 此时服务端显示:
[root@dewan01 test]# python udp_server.py
数据: hi
地址: ('127.0.0.1', 55795)
Please input your response msg:

## 服务端输入haha,回车:
Please input your response msg:haha

## 此时客户端显示:
服务端发来的数据: haha
服务器端的ip及端口 ('127.0.0.1', 8088)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值