python socket通信編程實現(xiàn)文件上傳代碼實例
這篇文章主要介紹了python socket通信編程實現(xiàn)文件上傳代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下
寫一個file_receive.py和一個file_send.py程序,由file_send.py上傳一個文件,file_receive.py接收上傳的文件,寫到指定的包內(nèi)
#file_receive.py
import socket,subprocess,os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sk = socket.socket()
address = ('127.0.0.1',8001)
sk.bind(address)
sk.listen(3)
conn,addr = sk.accept()
fileinfo = conn.recv(1024)
filename,filesize = str(fileinfo,'utf8').split('|')
#filename = str(filename,'utf8')
#filesize = int(str(filesize,'utf8'))
path = os.path.join(BASE_DIR,'file_recv',filename)
f = open(path,'wb')
has_received = 0
while has_received != int(filesize):
data = conn.recv(1024)
f.write(data)
has_received += len(data)
f.close()
print('well done')
sk.close()
#file_send.py
import socket,os
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
sk = socket.socket()
address = ('127.0.0.1',8001)
sk.connect(address)
filename = input("please input filename:")
path = os.path.join(BASE_DIR,filename)
filesize = os.stat(path).st_size
fileinfo = '%s|%s'%(filename,str(filesize))
sk.sendall(bytes(fileinfo,'utf8'))
f = open(path,'rb')
has_sent = 0
while has_sent != int(filesize):
data = f.read(1024)
sk.sendall(data)
has_sent += len(data)
print('well done!')
f.close()
sk.close()
文件運行后,實現(xiàn)了將file_send.py上傳的test.png文件上傳到當前路徑下的file_recv包內(nèi).
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習有所幫助,也希望大家多多支持腳本之家。
- python SOCKET編程基礎(chǔ)入門
- python Socket網(wǎng)絡(luò)編程實現(xiàn)C/S模式和P2P
- python網(wǎng)絡(luò)編程:socketserver的基本使用方法實例分析
- python網(wǎng)絡(luò)編程socket實現(xiàn)服務(wù)端、客戶端操作詳解
- 基于python3的socket聊天編程
- Python 網(wǎng)絡(luò)編程之TCP客戶端/服務(wù)端功能示例【基于socket套接字】
- Python 網(wǎng)絡(luò)編程之UDP發(fā)送接收數(shù)據(jù)功能示例【基于socket套接字】
- python粘包問題及socket套接字編程詳解
- Python Socket編程詳解
相關(guān)文章
Pycharm debug調(diào)試時帶參數(shù)過程解析
這篇文章主要介紹了Pycharm debug調(diào)試時帶參數(shù)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友可以參考下2020-02-02
python實現(xiàn)進度條和系統(tǒng)通知的示例詳解
這篇文章主要和大家分享兩個有意思的Python小工具,可以優(yōu)雅地實現(xiàn)進度條和系統(tǒng)通知,文中的示例代碼簡潔易懂,有需要的小伙伴快也跟隨小編一起學(xué)習一下2023-11-11
Python時間管理黑科技之datetime函數(shù)詳解
在Python中,datetime模塊是處理日期和時間的標準庫,它提供了一系列功能強大的函數(shù)和類,用于處理日期、時間、時間間隔等,本文將深入探討datetime模塊的使用方法,感興趣的可以了解下2023-08-08
10個python爬蟲入門基礎(chǔ)代碼實例 + 1個簡單的python爬蟲完整實例
這篇文章主要介紹了10個python爬蟲入門基礎(chǔ)代碼實例和1個簡單的python爬蟲爬蟲貼吧圖片的實例,需要的朋友可以參考下2020-12-12
Python 轉(zhuǎn)換文本編碼實現(xiàn)解析
這篇文章主要介紹了Python 轉(zhuǎn)換文本編碼實現(xiàn)解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值2019-08-08

