日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python文件操作实验报告_20193120 实验三《Python程序设计》实验报告

發(fā)布時間:2023/12/10 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python文件操作实验报告_20193120 实验三《Python程序设计》实验报告 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

實驗三

(一)實驗內(nèi)容

創(chuàng)建服務(wù)端和客戶端,服務(wù)端在特定端口監(jiān)聽多個客戶請求。客戶端和服務(wù)端通過Socket套接字(TCP/UDP)進行通信。

(二)實驗要求

(1)創(chuàng)建服務(wù)端和客戶端,選擇一個通信端口,用Python語言編程實現(xiàn)通信演示程序;

(2)要求包含文件的基本操作,例如打開和讀寫操作。

(3)要求發(fā)送方從文件讀取內(nèi)容,加密后并傳輸;接收方收到密文并解密,保存在文件中。

(4)程序代碼托管到碼云。

(三)實驗報告

課程:《Python程序設(shè)計》

班級: 1931

姓名: NO WAY

學號:20193120

實驗教師:NO WAY

實驗日期:2020年5月16日

必修/選修: 公選課

1.實驗內(nèi)容

client端:先對消息進行加密,再發(fā)送加密后消息。

sever端:接收client發(fā)來的消息,然后解密,將解密后的內(nèi)容放到文件中。

2. 實驗過程及結(jié)果

client端:

1:與server端進行連接,并處理需要傳送的內(nèi)容。

2:用戶將需要傳送的內(nèi)容寫到指定文件中,然后保存,運行代碼即可進行傳輸。

3:在client端進行加密,將加密后的內(nèi)容整合成一個字符串,編碼后統(tǒng)一傳輸過去。

server端:

1:與client端進行連接,傳輸內(nèi)容。

2:編寫代碼進行解碼。其中專門設(shè)置一個函數(shù)“decode”進行解碼,返回值為解密好的內(nèi)容。

3:打開一個新的文件,將解密好的內(nèi)容寫到文件中。

(之后一定要記得寫file.close()!!!)

運行:

先運行server端,再運行client端。結(jié)果如下:

字符通過加密的形式成功傳輸,并被server端進行解密,解密之后內(nèi)容被放到了新的文件當中。

3. 實驗過程中遇到的問題和解決過程

問題1:加密方案

問題1解決方案:

為防止加密后的字符超過ASCII碼的范圍,所以對ASCII碼值小于125的字符進行加密。

另外,對原來的'\n'進行加密的時候,會出現(xiàn)系統(tǒng)無法識別(正方形中有一個問號)的情況,所以不對轉(zhuǎn)行字符進行加密。

問題2:無法處理讀取后的文件

問題2解決方案:因為讀取完文件之后,沒有寫file.close(),所以無法刪除

只需要在讀取完成之后,加上file.close()即可

問題3:傳輸和解碼問題

問題3解決方案:

對于傳輸問題,先把加密后的每一個字符用空格隔開,然后編碼成二進制之后,用sendall全部送過去。

解碼問題,server端收到之后,先進行decode獲得密文,再用split函數(shù),以空格為間隔,將發(fā)過來的每個字符單獨拆分成一個列表元素,然后server端的密鑰進行一一解碼。

問題4:附加bug

原因:在用ASCII碼關(guān)系解密的時候,遇到了空字符串,無法解密,系統(tǒng)報錯。

解決辦法:因為列表的最后元素是空字符串,所以會報錯。只需這樣修改即可修復(fù)bug:

for i in range(len(unknown)-1):

或者在解密部分這樣修改:

elif ord(unknown[i]) <= 125 and unknown[i] != '':

修改后,程序正常運行。

其他(感悟、思考等)

1:上述加密辦法屬于簡單的加密辦法,類似于凱撒密碼,很容易被破解,需要用高級加密算法才能避免其被輕松破解。

2:目前只能對ASCII字符進行加密,遇到其他不屬于ASCII碼范圍的字符,例如中文字符,則無能為力。

3:QQ能做到上傳各種文件到群文件或者傳輸給其他人。如果可能的話,還可以增加傳輸其他類型文件的功能,這個代碼目前只支持傳輸txt文件。

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的python文件操作实验报告_20193120 实验三《Python程序设计》实验报告的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。