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程序设计实验三报告的更多相关文章

  1. 20192113 2020-2021-2 《Python程序设计》实验三报告

    20192113 2020-2021-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1921 姓名: 衣丽莎 学号:20192113 实验教师 ...

  2. 20192204李龙威 2019-2020-2 《Python程序设计》实验三报告

    20192204李龙威 2019-2020-2 <Python程序设计>实验三报告 课程:<Python程序设计> 班级: 1922 姓名: 李龙威 学号:20192204 实 ...

  3. Python程序设计实验报告三:分支结构程序设计

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.5     指导老师       修宇 [实验目的 ...

  4. 20172310 2017-2018-2 《程序设计与数据结构》实验三报告(敏捷开发与XP实践)

    20172310 2017-2018-2 <程序设计与数据结构>实验三报告(敏捷开发与XP实践) 课程:<程序设计与数据结构> 班级: 1723 姓名: 仇夏 学号:20172 ...

  5. Python程序设计实验报告二:顺序结构程序设计(验证性实验)

      安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩 日期     2020.3.22     指导老师       修宇 [实验 ...

  6. Python程序设计实验报告一:熟悉IDLE和在线编程平台

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  崔攀  学号3190505136 成绩_____           日期     2020.3.8     指导老师  ...

  7. Python程序设计实验报告四:循环结构程序设计(设计型实验)

    安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2020.4.8     指导老师       修宇 [实验名称 ...

  8. PYTHON程序设计实验

    Python程序设计实验报告一: 熟悉IDLE和在线编程平台 安徽工程大学 Python程序设计实验报告 班级 物流191 姓名 邹缕学号 3190505117成绩 ▁▁▁ 日期 2020.3.5 指 ...

  9. Python程序设计 实验 1 熟悉 IDLE 和在线编程平台

    ------------恢复内容开始------------ 安徽工程大学 Python程序设计 实验报告 班级   物流191   姓名  姚彩琴  学号3190505129 成绩 日期     2 ...

  10. 20172301 《Java软件结构与数据结构》实验三报告

    20172301 <Java软件结构与数据结构>实验三报告 课程:<Java软件结构与数据结构> 班级: 1723 姓名: 郭恺 学号:20172301 实验教师:王志强老师 ...

随机推荐

  1. 小家大变局.PDF

    书本详情 小家大变局种类:Self-Help, Relationships & Lifestyle - Families & Parents年:2022出版社:中信出版集团语言:chi ...

  2. UCOS-III笔记

    1.单片机程序分类:轮询程序,前后台程序,多任务系统程序 2.多任务系统伪代码 1 int flag1 = 0; 2 int flag2 = 0; 3 int flag3 = 0; 4 5 int m ...

  3. 【PS】PS如何删除图片中的白字

    [PS]PS如何删除图片中的白字 首先打开ps,然后导入要操作的图片,接着选择左边工具栏中的魔棒工具. 对所要操作的文字进行框选,可以按住shift键进行连续操作 点击上方工具栏中的选择 | 修改 | ...

  4. GIS空间分析和建模复习重点2

    10.缓冲区和缓冲区分析的概念 (1)缓冲区分析分为 点缓冲区分析:一般是围绕点对象建立一定半径的圆形区域. 线缓冲区分析:沿着线的两侧建立距离为缓冲距的带状区域. 面缓冲区分析:是沿着多边形的边界建 ...

  5. zookeeper在关闭服务时报could not find file /opt/module/zookeeper-3.5.10/zkData/zookeeper_server.pid

    遇到了个问题,zookeeper在执行 bin/zkServer.sh stop时 会报题目中的错误,我搜了一下博客,好像是因为第一次启动的不是zkServer.sh中的服务 我先 kill -9 加 ...

  6. C# 数据结构之嵌套加法、嵌套乘法

    复杂性度量问题 1.大O复杂度:嵌套加法 找出以下代码片段的 Big O 复杂度. using System; namespace Chapter_1 { class Challenge_1 { st ...

  7. Unity旧版图集和新版图集

    1.关于旧版图集 ===>结论:设置PackingTag就可以了. ===>分析:设置好PackingTag,那么在进行打包的时候,同一个标签的会被打到1个图集里面,图集最大为2048x2 ...

  8. centos 服务器配置网络ifconfig位置

    path :   /etc/sysconfig/network-scripts/ifcfg-enoxxx

  9. 微信退款报错 400 the ssl certificatie error / no required SSL certificate was sent ; Guzzle json_encode Type is not supported;

    bug随笔 一 起因. 在做一个点餐类小程序,本地测试ok.上测试的时候,突然就报错,微信退款失败. 二 Debug. 1. Debug trace到页面直接显示的是 : Type is not su ...

  10. Python 面试题整理

    一.语言特性 1.什么是Python?使用Python有什么好处?Python和其他语言的区别? Python是一种编程语言,它有对象,模块,线程,异常处理和自动内存管理. 好处:开源.简洁.简单.方 ...