色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

python 轉(zhuǎn)發(fā)文件

呂致盈1年前7瀏覽0評論

Python是一種廣泛應(yīng)用于編寫網(wǎng)絡(luò)應(yīng)用程序的編程語言。在網(wǎng)絡(luò)傳輸中,經(jīng)常需要進(jìn)行文件的傳輸。本文將介紹如何使用Python實(shí)現(xiàn)簡單的文件轉(zhuǎn)發(fā)功能。

import socket
# 文件發(fā)送方
def sendfile(filename, ip, port):
# 創(chuàng)建socket對象
s = socket.socket()
# 連接服務(wù)器
s.connect((ip, port))
# 發(fā)送文件名
s.send(filename.encode())
# 等待服務(wù)器確認(rèn)
data = s.recv(1024).decode()
if data == 'OK':
# 發(fā)送文件內(nèi)容
with open(filename, 'rb') as f:
data = f.read()
s.sendall(data)
# 關(guān)閉socket連接
s.close()
# 文件接收方
def recvfile(ip, port):
# 創(chuàng)建socket對象
s = socket.socket()
# 綁定本地IP和端口
s.bind((ip, port))
# 監(jiān)聽連接請求
s.listen(1)
while True:
# 等待連接
conn, addr = s.accept()
print('Connected by', addr)
# 接收文件名
filename = conn.recv(1024).decode()
print('Recv filename:', filename)
# 確認(rèn)接收文件
conn.send(b'OK')
# 接收文件內(nèi)容
with open(filename, 'wb') as f:
while True:
data = conn.recv(1024)
if not data:
break
f.write(data)
# 關(guān)閉連接
conn.close()
# 測試
if __name__ == '__main__':
# 啟動文件接收方
recvfile('192.168.0.100', 8888)
# 啟動文件發(fā)送方
sendfile('test.txt', '192.168.0.100', 8888)

上面是一個(gè)簡單的文件轉(zhuǎn)發(fā)示例,其中sendfile函數(shù)表示文件發(fā)送方,recvfile函數(shù)表示文件接收方。代碼中使用了Python內(nèi)置的socket庫來進(jìn)行網(wǎng)絡(luò)連接。在發(fā)送文件時(shí),首先連接服務(wù)器,然后發(fā)送文件名,并等待服務(wù)器確認(rèn)。如果收到確認(rèn)信息,則開始發(fā)送文件內(nèi)容,并關(guān)閉socket連接。在接收文件時(shí),首先綁定本地IP和端口,然后等待連接請求。一旦收到連接請求,接收文件名,并向?qū)Ψ桨l(fā)送確認(rèn)信息。之后,開始接收文件內(nèi)容,并寫入本地文件中。