20192305 王梓全Python程序设计实验三报告
20192305 王梓全Python程序设计实验三报告
课程:《Python程序设计》
班级: 1923
姓名: 王梓全
学号:20192305
实验教师:王志强
实验日期:2021年5月24日
必修/选修:公选课
1.实验内容
- 创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套接字(TCP/UDP)进行通信。
2.实验过程及结果
- (1)创建服务端和客户端,选择一个通信端口,用Python语言编程实现通信演示程序;
- (2)让用户输入需要发送的文件名后打开并读取文件内容
- (3)发送方从文件读取内容,加密后传输;
- (4)接收方收到密文并解密,保存在文件中。
- (5)程序代码托管到码云
发送方
作者:王梓全
import socket
import sys
import base64
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8001))
except socket.error as err:
print(err)
sys.exit(1)
except socket.error as err:
print(err)
sys.exit(1)
path = input("请输入待传输文件的路径:")
with open(path, 'r') as object:
str = object.read(1024).encode('utf-8')
print("加密中")
strencode = base64.b64encode(str)
print("加密完毕")
s.sendall(strencode)
data = s.recv(1024)
print(data)
服务器端
作者:王梓全
import socket
import base64
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 8001))
s.listen()
except socket.error as err:
print(err)
err.exit(1)
conn, address = s.accept()
data = conn.recv(1024)
print("已接收到文件:" + data.decode())
conn.sendall(("服务器已经接收到信号" + str(data)).encode())
with open(r'C:/Intel/receive.txt', 'w+') as rec:
strdecode = base64.b64decode(data)
rec.write(strdecode.decode("utf-8"))
print("已终止")
s.close()


3. 实验过程中遇到的问题和解决过程
- 问题1:初次使用base64加密,不知道将str转换成byte格式才行
- 问题1解决方案:上网查找报错原因解决
- 问题二:对文件操作部分有些遗忘
- 问题二解决方案:查找了《python从入门到实践》一书获得答案
其他(感悟、思考等)
python是一门面向对象的语言,其语言简洁,且对类型要求较弱,与C语言相比更适合初学者。python中许多语法不加记忆容易遗忘,需要经常的编写程序以及翻看教学资源以求熟练。对比了其他同学做的实验作业,有些编的我都看不懂,感觉自己的差距还是很大的,好好钻研《python从入门到入土》吧
参考资料
- 《python从入门到实践》
20192305 王梓全Python程序设计实验三报告的更多相关文章
- 20192113 2020-2021-2 《Python程序设计》实验三报告
20192113 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 衣丽莎 学号:20192113 实验教师 ...
- 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告
20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...
- Python程序设计实验报告三:分支结构程序设计
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.5 指导老师 修宇 [实验目的 ...
- 20172310 2017-2018-2 《程序设计与数据结构》实验三报告(敏捷开发与XP实践)
20172310 2017-2018-2 <程序设计与数据结构>实验三报告(敏捷开发与XP实践) 课程:<程序设计与数据结构> 班级: 1723 姓名: 仇夏 学号:20172 ...
- Python程序设计实验报告二:顺序结构程序设计(验证性实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩 日期 2020.3.22 指导老师 修宇 [实验 ...
- Python程序设计实验报告一:熟悉IDLE和在线编程平台
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 崔攀 学号3190505136 成绩_____ 日期 2020.3.8 指导老师 ...
- Python程序设计实验报告四:循环结构程序设计(设计型实验)
安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2020.4.8 指导老师 修宇 [实验名称 ...
- PYTHON程序设计实验
Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...
- Python程序设计 实验 1 熟悉 IDLE 和在线编程平台
------------恢复内容开始------------ 安徽工程大学 Python程序设计 实验报告 班级 物流191 姓名 姚彩琴 学号3190505129 成绩 日期 2 ...
- 20172301 《Java软件结构与数据结构》实验三报告
20172301 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 ...
随机推荐
- 合格できる日本語能力試験, N1.PDF
书本详情 合格できる日本語能力試験, N1种类:Languages - Japanese Language Reference年:2010出版:Shohan.出版社:Aruku语言:japanese页 ...
- Win10 U盘不自动显示
Win+R,在窗口中输入 命令services.msc,然后点击确定按钮:这时就会打开Windows10的服务列表,在列表中找到Plug and Play服务项.双击后看一下该服务是否启动,先停止,然 ...
- SQL时间函数学习
笔记来自如鹏网杨中科老师所著的 <程序员的SQL金典> 一.日期时间函数: 日期时间类型分为 日期.时间.日期时间.时间戳 日期:"年-月-日" 没有时间分秒 ...
- [Docker-1自顶向下学习Docker
本文目录: 什么是DOCKER? 什么是容器? 什么是DOCKER镜像? DOCKER有什么使用场景和优势? 流程图一:从中央仓库拉取镜像并部署 流程图二:上传镜像到中央私库 结语 什么是DOCK ...
- desginer启动就直接卡死
博主经验: 请不要开有道词典 请不要开有道词典 请不要开有道词典
- 关于视频加密ts格式转MP4的方法
copy /b "%~dp0"\*.ts "%~dp0"\new.ts 最近在手机浏览器上下载了钢铁侠等漫威电影,觉得不错想保存到手机上,却都又是m3u8格式, ...
- IaaS--云虚拟机(三)(何恺铎《深入浅出云计算》笔记整理)
云虚拟机收费之省钱办法. [包年包月] 包年包月就是我们要提前预估好自己虚拟机的使用时间,比如半年.一年甚至三年,并提前支付相关款项的一种购买方式.这样的购买方式,通常能够给你带来较大幅度的折扣,帮你 ...
- Mybatis缓存(3)
10.4.3二级缓存
- The 17th Zhejiang Provincial Collegiate Programming Contest B.Bin Packing Problem
题意 给定n个物品,和一个容量为C的桶 需要求出为了装下这些物品,分别使用首次适应算法(FF).最佳适应算法(BF)需要的桶的数量 \(n \leq 10^6\) 思路 BF:容易想到可以用set维护 ...
- onedrive 不显示图标
步骤一 https://www.xitongbuluo.com/jiaocheng/67248.html 步骤二 https://blog.csdn.net/weixin_44041700/artic ...