国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

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

服務(wù)器之家 - 腳本之家 - Python - python3利用tcp實現(xiàn)文件夾遠程傳輸

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

2021-03-23 00:32WangF0 Python

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

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

實現(xiàn)功能:

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

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

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

服務(wù)器端代碼:

?
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:
    # 講導(dǎo)致報錯的文件夾放入全局列表等待處理
    global list1
    list1.append(files)
  else:
    # 沒有報錯則執(zhí)行讀取發(fā)送關(guān)閉文件
    file_data = old_file.read()
    print("發(fā)送內(nèi)容")
    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))
  # 被動套接字轉(zhuǎn)換為主動套接字
  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ā)送文件內(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()

客戶端源碼:

?
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():
  # 創(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("請輸入要拷貝的文件夾")
  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()

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美成人一区二区三区片免费 | 欧美一区二区三区在线观看视频 | 国产亚洲精品一区二区 | 欧美成人高清视频 | 欧美日韩在线看 | 久久久久成人精品免费播放动漫 | 青青草国产精品 | 一级做a爰片久久毛片免费陪 | 中国一级特黄毛片大片 | 日本精品1区2区 | 中文字幕高清在线播放 | 蜜桃视频一区 | 久久久久一区 | 国产福利一区二区 | 中文字幕的 | 久久国产精品99久久久久久老狼 | 日本视频中文字幕 | 欧洲精品一区 | 国产女无套免费网站 | 亚洲精品福利 | 久久高清精品 | 欧美一区2区 | 成人综合视频在线 | 毛片免费在线 | 精品欧美乱码久久久久久 | 国产成人免费 | 久久久久综合视频 | 91久久综合 | 四虎综合网 | 中文字幕日韩欧美 | 亚洲精品视频在线免费播放 | 免费看少妇高潮一级毛片特黄 | 国产男女免费视频 | 中文字幕免费视频 | 欧美一区二区大片 | 一区二区三区在线免费视频 | 日本不卡一区 | 中文字幕一区二区三区乱码在线 | 国产成人精品一区二区三区网站观看 | 国产麻豆一区二区三区 | 激情欧美一区二区三区中文字幕 |