第四模块:网络编程进阶&数据库开发 练习

Posted anzhangjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第四模块:网络编程进阶&数据库开发 练习相关的知识,希望对你有一定的参考价值。

练习题

1、基于多线程实现并发的套接字通信

客户端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# _*_ coding: utf-8 _*_
from socket import *
 
ip_port = (‘127.0.0.1‘,9999)
client = socket(AF_INET,SOCK_STREAM)
client.connect(ip_port)
 
while True:
    cmd = input(">>>").strip()
    if not cmd:
        continue
    client.send(cmd.encode(‘utf-8‘))
    data = client.recv(1024)
    print(data.decode(‘utf-8‘))
client.close()

  

服务端

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import multiprocessing
import threading
import socket
 
ip_port = (‘127.0.0.1‘,9999)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(ip_port)
s.listen(5)
 
def action(conn):
    while True:
        data = conn.recv(1024)
        print(data)
        conn.send(data.upper())
if __name__ == ‘__main__‘:
    while True:
        conn,addr = s.accept()
 
        p = threading.Thread(target=action,args=(conn,))
        p.start()

  

2、编写一个简单的文本处理工具,具备三个任务,一个接收用户输入,一个将用户输入的内容格式化成大写,一个将格式化后的结果存入文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# _*_ coding: utf-8 _*_
# 练习二:三个任务,一个接收用户输入,一个将用户输入的内容格式
# 化成大写,一个将格式化后的结果存入文件
 
from threading import Thread
 
msg_l = []
format_l = []
def talk():
    while True:
        msg = input(">>>").strip()
        if not msg:
            break
        msg_l.append(msg)
 
def format_msg():
    while True:
        if msg_l:
            res = msg_l.pop()
            format_l.append(res.upper())
 
def save():
    while True:
        if format_l:
            with open(‘db.txt‘,‘a‘,encoding=‘utf-8‘) as f:
                res = format_l.pop()
                f.write(‘%s ‘%res)
 
if __name__ == ‘__main__‘:
    t1 = Thread(target=talk)
    t2 = Thread(target=format_msg)
    t3 = Thread(target=save)
 
    t1.start()
    t2.start()
    t3.start()

以上是关于第四模块:网络编程进阶&数据库开发 练习的主要内容,如果未能解决你的问题,请参考以下文章

进阶第四课 Python模块之os

数据蛙-Python进阶

python - 目录

第四模块练习

爬虫进阶数据提取-lxml模块(万能操作)

bash脚本进阶练习题