激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python3利用tcp實現文件夾遠程傳輸

python3利用tcp實現文件夾遠程傳輸

2021-03-23 00:32WangF0 Python

這篇文章主要為大家詳細介紹了python3利用tcp實現文件夾遠程傳輸,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python實現文件夾遠程傳輸的具體代碼,供大家參考,具體內容如下

實現功能:

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

下面讓我們實現以下:

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

服務器端代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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:
    # 沒有報錯則執行讀取發送關閉文件
    file_data = old_file.read()
    print("發送內容")
    dir_socket.send(file_data)
 
    old_file.close()
 
def deal_dir():
  # 待完善用于處理子文件夾,需要利用遞歸完成
  pass
 
 
def main():
  # 創建套接字
  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())
  # 將文件列表發送至客戶端
  dir_socket.send(str(file_list).encode())
  # 阻塞0.5s等待發送成功
  time.sleep(0.5)
  # 便利每個文件發送文件內容
  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()

客戶端源碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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():
  # 創建套接字
  tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  # 連接服務器
  tcp_socket.connect(("192.168.11.128", 9992))
 
  # 向服務器發送要拷貝的文件夾
  dir_name = input("請輸入要拷貝的文件夾")
  tcp_socket.send(dir_name.encode())
  # 新建文件夾
  os.mkdir(dir_name+"新")
  # 接受文件列表,循環打開文件寫入
  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()

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

原文鏈接:https://blog.csdn.net/wf134/article/details/78571811

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产96亚洲一区二区三区 | 欧美国产一区二区三区激情无套 | 日本高清电影在线播放 | 免费看性xxx高清视频自由 | 99国产精品国产免费观看 | 爱唯侦察 国产合集 亚洲 | 九九热精品视频在线播放 | 日韩黄色精品视频 | 久久亚洲春色中文字幕久久 | 国产在线观看免费视频软件 | 久久国产精品久久久久久电车 | 国产999视频在线观看 | 中文字幕一区二区三区四区 | 色视频在线观看 | 国产一级毛片国语版 | 亚洲免费在线看 | 久久久噜噜噜久久熟有声小说 | 国产五区| 7777奇米成人四色影视 | 国产精品久久久久久久亚洲按摩 | 深夜免费视频 | 黄色的视频在线观看 | 中文字幕在线观看精品 | 91精品国产乱码久久久久久久久 | 久久久中精品2020中文 | 被玩坏了的女老师(高h np) | bt 自拍 另类 综合 欧美 | 黄色免费不卡视频 | 国产精品午夜小视频观看 | 欧美一级鲁丝片免费看 | 亚洲91网 | 91在线色视频 | 成年性羞羞视频免费观看无限 | av中文字幕免费在线观看 | 久久精品观看 | 免费观看一区二区三区视频 | 一区二区三区四区高清视频 | 国产成人自拍视频在线 | 一级电影免费在线观看 | 福利一区二区三区视频在线观看 | v片在线看|