在局域網(wǎng)內(nèi),我們常常需要在不同的電腦之間傳輸文件。Python提供了一種簡單易用的方法來實現(xiàn)局域網(wǎng)內(nèi)的文件傳輸。
以下是一個簡單的示例代碼:
import socket def send_file(filename, host, port): # 創(chuàng)建socket對象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 連接服務器 s.connect((host, port)) # 發(fā)送文件名 s.send(filename.encode()) # 打開文件并發(fā)送內(nèi)容 with open(filename, 'rb') as f: data = f.read(1024) while data: s.send(data) data = f.read(1024) # 關閉socket連接 s.close() def receive_file(host, port): # 創(chuàng)建socket對象 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 綁定IP和端口 s.bind((host, port)) # 監(jiān)聽端口 s.listen(1) print("等待連接...") # 接受連接請求 conn, addr = s.accept() print("來自 %s 的連接" % str(addr)) # 接收文件名 filename = conn.recv(1024).decode() print("收到文件名: %s" % filename) # 創(chuàng)建文件并寫入內(nèi)容 with open(filename, 'wb') as f: data = conn.recv(1024) while data: f.write(data) data = conn.recv(1024) # 關閉socket連接 conn.close() s.close() if __name__ == '__main__': # 發(fā)送文件 send_file('test.txt', '192.168.1.100', 8001) # 接收文件 receive_file('', 8001)
在以上代碼中,我們引入了Python中的socket模塊,通過創(chuàng)建socket對象來實現(xiàn)電腦之間的數(shù)據(jù)傳輸。send_file函數(shù)用來發(fā)送文件內(nèi)容,而receive_file函數(shù)用來接收文件內(nèi)容。我們可以通過修改host和port的值來指定數(shù)據(jù)傳輸?shù)哪繕恕?/p>
總結來說,使用Python實現(xiàn)局域網(wǎng)文件傳輸是十分方便和實用的。這個方法不僅簡單易用,而且還可以快速地進行文件傳輸,成為我們?nèi)粘9ぷ髦械牟豢苫蛉钡墓ぞ摺?/p>