文件传输 python
时间: 2023-12-20 19:32:32 浏览: 32
以下是使用Python实现文件传输功能的步骤和代码示例:
1. 创建发送端:
```python
import socket
def send_file(file_path, host, port):
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect((host, port))
# 打开文件并发送数据
with open(file_path, 'rb') as f:
data = f.read(1024)
while data:
s.send(data)
data = f.read(1024)
# 关闭连接
s.close()
```
2. 创建接收端:
```python
import socket
def receive_file(file_path, host, port):
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
s.bind((host, port))
# 监听连接
s.listen(1)
# 接受连接
conn, addr = s.accept()
# 接收数据并写入文件
with open(file_path, 'wb') as f:
while True:
data = conn.recv(1024)
if not data:
break
f.write(data)
# 关闭连接
conn.close()
s.close()
```
3. 调用发送端和接收端:
```python
# 发送端调用
send_file('file.txt', 'localhost', 1234)
# 接收端调用
receive_file('received_file.txt', 'localhost', 1234)
```
请注意,上述代码中的`file_path`参数是要传输的文件的路径,`host`和`port`参数是发送端和接收端的主机和端口。