欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 轉發文件

呂致盈2年前8瀏覽0評論

Python是一種廣泛應用于編寫網絡應用程序的編程語言。在網絡傳輸中,經常需要進行文件的傳輸。本文將介紹如何使用Python實現簡單的文件轉發功能。

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

上面是一個簡單的文件轉發示例,其中sendfile函數表示文件發送方,recvfile函數表示文件接收方。代碼中使用了Python內置的socket庫來進行網絡連接。在發送文件時,首先連接服務器,然后發送文件名,并等待服務器確認。如果收到確認信息,則開始發送文件內容,并關閉socket連接。在接收文件時,首先綁定本地IP和端口,然后等待連接請求。一旦收到連接請求,接收文件名,并向對方發送確認信息。之后,開始接收文件內容,并寫入本地文件中。