python实现局域网内使用TCP服务器传输文件
生活随笔
收集整理的這篇文章主要介紹了
python实现局域网内使用TCP服务器传输文件
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1.服務端主機搭建TCP服務
- 2.客戶端通過FTP鏈接訪問服務端的文件
- 3.python實現(xiàn)客戶端從服務端下載數(shù)據(jù)
1.服務端主機搭建TCP服務
右鍵我的電腦——選擇管理——右鍵用戶——選擇新建用戶
創(chuàng)建完TCP用戶后
打開控制面板——選擇程序——啟動或關(guān)閉windows功能——啟動Internet Information Services
正在啟動中……
啟動IIS后重新打開計算機管理,會多出一個IIS管理器
服務端的TCP服務部署完成!
2.客戶端通過FTP鏈接訪問服務端的文件
現(xiàn)在我們在局域網(wǎng)內(nèi)換一臺主機(客戶端),在瀏覽器中進行訪問以下地址即可訪問到服務端的TCP服務。
3.python實現(xiàn)客戶端從服務端下載數(shù)據(jù)
若我們需要批量下載或上傳數(shù)據(jù)等操作,可用Python的ftplib包實現(xiàn)
#!/usr/bin/python # coding=utf-8 import os from ftplib import FTP # 引入ftp模塊 import loggingclass MyFtp:ftp = FTP()def __init__(self,host,port=21,timeout=10):try:self.ftp.connect(host,port,timeout)print('ftp connect success!')except:logging.warning('network connect time out')def login(self,username,pwd):#self.ftp.set_debuglevel(2) # 打開調(diào)試級別2,顯示詳細信息try:self.ftp.login(username,pwd)self.ftp_root = self.ftp.pwd()print('ftp login success!')except:logging.warning('username or password error')def downloadFile(self,srcpath,dstpath):srcDir, srcFileName = os.path.split(srcpath)dstDir, dstFileName = os.path.split(dstpath)os.chdir(dstDir) # 切換工作路徑到下載目錄print(srcDir)# 每次需要先切換到根目錄 因為srcDir是相對路徑 之前在之前的路徑下切換會找不到路徑self.ftp.cwd(self.ftp_root) try:self.ftp.cwd(srcDir) # 要登錄的ftp目錄except:with open('log.txt', 'a') as f:f.write('{} ftp.cwd err'.format(srcpath))return# self.ftp.cwd(srcDir) # 要登錄的ftp目錄self.ftp.nlst() # 獲取目錄下的文件file_handle = open(dstpath,"wb").write # 以寫模式在本地打開文件self.ftp.retrbinary('RETR %s' % srcFileName,file_handle,blocksize=1024) # 下載ftp文件def close(self):#self.ftp.set_debuglevel(0) # 關(guān)閉調(diào)試self.ftp.quit()if __name__ == '__main__':ftp = MyFtp('172.16.7.127')ftp.login('','') # 輸入賬號密碼root = ['./tcp_test/0001/aaa.txt','./tcp_test/0002/bbb.txt']for i in root:dstroot,dstimg = os.path.split(i)ftp.downloadFile(i,os.path.join('D:/code/getDataFromDB',dstimg))ftp.close()這是運行結(jié)果:
文件已經(jīng)從服務端下載到客戶端的制定路徑了
總結(jié)
以上是生活随笔為你收集整理的python实现局域网内使用TCP服务器传输文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据库设计-UML模型
- 下一篇: Python3新特性 类型注解 以及