最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2018年07月28日 09:51:03   作者:WangF0  
這篇文章主要為大家詳細介紹了python3利用tcp實現(xiàn)文件夾遠程傳輸,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

實現(xiàn)功能:

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

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

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

服務器端代碼:

import os
import socket
import time
# 定義全局列表用來存儲子文件夾
list1 = []


def deal_file(files,dir_name,dir_socket):
  # 如果打開文件時報錯即files為文件夾
  try:
    old_file = open(os.path.join(dir_name.decode(),files),"rb")
  except:
    # 講導致報錯的文件夾放入全局列表等待處理
    global list1
    list1.append(files)
  else:
    # 沒有報錯則執(zhí)行讀取發(fā)送關閉文件
    file_data = old_file.read()
    print("發(fā)送內容")
    dir_socket.send(file_data)

    old_file.close()

def deal_dir():
  # 待完善用于處理子文件夾,需要利用遞歸完成
  pass


def main():
  # 創(chuàng)建套接字
  tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  # 固定端口號
  tcp_socket.bind(("",9992))
  # 被動套接字轉換為主動套接字
  tcp_socket.listen(128)
  # 將隊列中的客戶端取出
  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)
  # 便利每個文件發(fā)送文件內容
  for files in file_list:
    deal_file(files, dir_name, dir_socket)
  global list1
  # 如果全局列表內有文件則
  if list1:
    # 帶完善
    pass

  else:


    dir_socket.close()

    print("文件全部傳輸完成")
    tcp_socket.close()



if __name__ == '__main__':
  main()

客戶端源碼:

import socket
import os
import threading
import time


def 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)
  # 連接服務器
  tcp_socket.connect(("192.168.11.128", 9992))

  # 向服務器發(fā)送要拷貝的文件夾
  dir_name = input("請輸入要拷貝的文件夾")
  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()

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python3.9.1環(huán)境安裝的方法(圖文)

    python3.9.1環(huán)境安裝的方法(圖文)

    這篇文章主要介紹了python3.9.1環(huán)境安裝的方法(圖文),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • python中列表和元組的用法以及區(qū)別超詳細講解

    python中列表和元組的用法以及區(qū)別超詳細講解

    這篇文章主要介紹了Python中的列表和元組,包括它們的定義、特點、常見操作以及與列表的區(qū)別,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2025-03-03
  • python time時間庫詳解

    python time時間庫詳解

    Python中內置了一些與時間處理相關的庫,如time、datatime和calendar庫,這篇文章主要介紹了python-time時間庫,需要的朋友可以參考下
    2022-08-08
  • python的自變量選擇(所有子集回歸,后退法,逐步回歸)

    python的自變量選擇(所有子集回歸,后退法,逐步回歸)

    這篇文章主要介紹了python的自變量選擇(所有子集回歸,后退法,逐步回歸),文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python中Tkinter組件Menu的具體使用

    Python中Tkinter組件Menu的具體使用

    本文主要介紹了Python中Tkinter組件Menu的具體使用,Menu組件用于實現(xiàn)頂級菜單、下拉菜單和彈出菜單,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python獲取響應某個字段值的3種實現(xiàn)方法

    python獲取響應某個字段值的3種實現(xiàn)方法

    這篇文章主要介紹了python獲取響應某個字段值的3種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python實現(xiàn)AHP算法的方法實例(層次分析法)

    python實現(xiàn)AHP算法的方法實例(層次分析法)

    這篇文章主要給大家介紹了關于python實現(xiàn)AHP算法(層次分析法)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Python使用中文正則表達式匹配指定中文字符串的方法示例

    Python使用中文正則表達式匹配指定中文字符串的方法示例

    這篇文章主要介紹了Python使用中文正則表達式匹配指定中文字符串的方法,結合實例形式分析了Python正則匹配及字符編碼相關操作技巧,需要的朋友可以參考下
    2017-01-01
  • 基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)

    基于python3.7利用Motor來異步讀寫Mongodb提高效率(推薦)

    Motor是一個異步mongodb driver,支持異步讀寫mongodb。它通常用在基于Tornado的異步web服務器中。這篇文章主要介紹了基于python3.7利用Motor來異步讀寫Mongodb提高效率,需要的朋友可以參考下
    2020-04-04
  • python解壓縮文件或文件夾兩種常見方式(附代碼)

    python解壓縮文件或文件夾兩種常見方式(附代碼)

    這篇文章主要介紹了python解壓縮文件或文件夾兩種常見方式,Python的zipfile和shutil模塊提供了強大的文件和文件夾壓縮與解壓縮功能,zipfile模塊適合精細控制,而shutil模塊則快速簡單,文中提供了詳細的代碼示例,需要的朋友可以參考下
    2025-04-04

最新評論

武强县| 乐山市| 平利县| 白朗县| 湘阴县| 延长县| 沁源县| 尉氏县| 永嘉县| 冕宁县| 寻甸| 安化县| 启东市| 社旗县| 扎兰屯市| 贡嘎县| 历史| 海林市| 汤原县| 诸城市| 无锡市| 清苑县| 祥云县| 钦州市| 甘孜县| 安图县| 斗六市| 商都县| 天水市| 汪清县| 嘉鱼县| 云梦县| 合作市| 瑞金市| 镇安县| 运城市| 开远市| 天镇县| 南丹县| 盖州市| 伊金霍洛旗|