麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 開發(fā) > Python > 正文

python3利用tcp實(shí)現(xiàn)文件夾遠(yuǎn)程傳輸

2024-09-09 19:02:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了python實(shí)現(xiàn)文件夾遠(yuǎn)程傳輸?shù)木唧w代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)功能:

通過(guò)tcp協(xié)議模擬文件夾的下載,注意是文件夾,不是文件。

下面讓我們實(shí)現(xiàn)以下:

其中有部分功能還未實(shí)現(xiàn)有興趣的可以將代碼自行補(bǔ)全

服務(wù)器端代碼:

import osimport socketimport time# 定義全局列表用來(lái)存儲(chǔ)子文件夾list1 = []def deal_file(files,dir_name,dir_socket):  # 如果打開文件時(shí)報(bào)錯(cuò)即files為文件夾  try:    old_file = open(os.path.join(dir_name.decode(),files),"rb")  except:    # 講導(dǎo)致報(bào)錯(cuò)的文件夾放入全局列表等待處理    global list1    list1.append(files)  else:    # 沒(méi)有報(bào)錯(cuò)則執(zhí)行讀取發(fā)送關(guān)閉文件    file_data = old_file.read()    print("發(fā)送內(nèi)容")    dir_socket.send(file_data)    old_file.close()def deal_dir():  # 待完善用于處理子文件夾,需要利用遞歸完成  passdef main():  # 創(chuàng)建套接字  tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  # 固定端口號(hào)  tcp_socket.bind(("",9992))  # 被動(dòng)套接字轉(zhuǎn)換為主動(dòng)套接字  tcp_socket.listen(128)  # 將隊(duì)列中的客戶端取出  dir_socket,client_ip = tcp_socket.accept()  # 接受客戶端消息  dir_name = dir_socket.recv(1024)  # 顯示文件列表  file_list = os.listdir(dir_name.decode())  # 將文件列表發(fā)送至客戶端  dir_socket.send(str(file_list).encode())  # 阻塞0.5s等待發(fā)送成功  time.sleep(0.5)  # 便利每個(gè)文件發(fā)送文件內(nèi)容  for files in file_list:    deal_file(files, dir_name, dir_socket)  global list1  # 如果全局列表內(nèi)有文件則  if list1:    # 帶完善    pass  else:    dir_socket.close()    print("文件全部傳輸完成")    tcp_socket.close()if __name__ == '__main__':  main()

客戶端源碼:

import socketimport osimport threadingimport timedef recv_data(files,dir_name,tcp_socket):  file_data = tcp_socket.recv(1024)  new_file = open(os.path.join(dir_name+"新", files),"wb")  new_file.write(file_data)  new_file.close()  print("文件%s下載完成" % files)def main():  # 創(chuàng)建套接字  tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  # 連接服務(wù)器  tcp_socket.connect(("192.168.11.128", 9992))  # 向服務(wù)器發(fā)送要拷貝的文件夾  dir_name = input("請(qǐng)輸入要拷貝的文件夾")  tcp_socket.send(dir_name.encode())  # 新建文件夾  os.mkdir(dir_name+"新")  # 接受文件列表,循環(huán)打開文件寫入  file_list = tcp_socket.recv(1024)  a = eval(file_list)  print(a)  for files in eval(file_list.decode()):    recv_data(files,dir_name,tcp_socket)if __name__ == '__main__':  main()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)之家。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: gogo全球大胆高清人露出91 | 免费毛片小视频 | www.成人免费| 中文字幕在线观看视频一区 | xxxxhd73国产 | 美女色影院 | 国产一区国产二区在线观看 | 久久精品一区二区三 | 日韩中文一区 | 成人在线观看一区二区 | 国产一区国产二区在线观看 | 国产亚洲综合一区二区 | 欧美一级黄色免费看 | www.国产一区.com | 特级西西444www大精品视频免费看 | 国产91影院| 国产精品久久久久久久久久电影 | 国产精品剧情一区二区三区 | 92自拍视频 | 毛片在线播放视频 | 亚洲一区二区三区在线免费观看 | 免费激情网站 | 成年性羞羞视频免费观看 | 一区二区免费看 | 成人宗合网 | 一级色毛片| 亚洲综人网| 国产一区二区三区在线免费 | 在线成人免费网站 | 大学生a级毛片免费视频 | 爱性久久久久久久 | 成人免费av在线播放 | 亚洲第一精品在线 | 欧美成人一区免费视频 | 色毛片 | av在线免费看片 | 亚洲成人涩涩 | 黄色影院网站 | 国产在线中文 | 黄色毛片免费视频 | 特级黄一级播放 |