python - 如何读取二进制文件?

标签 python file

我正在尝试在我的家庭网络中的客户端和服务器之间发送文件。我只想用一个简单的文件 client.txt 进行测试。

客户端程序应该读取 X 字节并通过我创建的 tcp 套接字发送它,但我无法思考如何执行发送部分:

f = open("client.txt", "rb")
while 1:
// should read X bytes and send to the socket

我想我需要检查我要发送的数据是否有效,例如文件是否小于我在每批中发送的数量(例如 1024).... 或者它不起作用那样?

最佳答案

既然你提到你在设置服务器部分时遇到问题,我将从 Python 文档中删除它并稍微编辑它:

import socket

HOST = ''
PORT = 50007

s = socket.socket()
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()

f = open("client.txt", "rb")
while 1:
    data = f.read(1024)
    if not data: break
    conn.send(data)
conn.close()

可以找到相关文档here

关于python - 如何读取二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4971413/

相关文章:

python - 在 Python 中训练 NGramModel

python - 在Python中,如何获取文件的content_type或mime_type?

java - 用Java压缩加密文件

file - TYPO3 在 fileadmin 之外创建文件夹挂载

java - 分割先前从文件中读取的字节数组

file - 获取$ webclient.downloadstring以在Powershell中写入文本文件

python - 如何在python环境中设置最大用户连接数?

python - 检查点是否位于凸包内

python - 迁移中的 Django 设置

python - 使用 cmake 找到正确的 Python 框架