在 Python 中打开文件:字节数组转换为字符串?

Opening a file in Python: bytes array converted to string?

我有一个包含如下数据的文本文件

b'\x00\x09\x00\xfe'

这是从 TCP 套接字流传输到文本文件中的。将此文本文件命名为 'stream.txt'。我用以下代码打开了这个文件:

f = open("stream.txt", "rb")
bytes_read = f.read()

当我在另一个 Python 脚本中打开此文件时,原始文件中的每个“\”都对应一个“\”。最重要的是,我无法访问字节数组,因为它似乎已经变成了一个字符串。也就是说,'bytes_read'现在是

'b"\x00\x09\x00\xfe"'

如何将此字符串恢复为字节数组?

我用来捕获此数据的客户端代码是以下脚本:

from socket import *

clientsock = socket(AF_INET, SOCK_STREAM)
clientsock.connect(('1.2.3.4', 2000))      # Open the TCP socket

clientsock.sendall(b'myCommand')  # Send a command to the server
data = clientsock.recv(16)        # Wait for the response
print(data)                       # For piping to 'stream.txt'
clientsock.close()

当数据打印到终端时,我将其重定向到一个文件:

$ python3 client.py > stream.txt

我的目标是绕过重定向到文本文件并直接通过管道传输到绘图仪...但首先我想让它工作。

能够通过直接写入文件来解决此问题。因此,我没有使用 'print(data)' 并重定向到文件,而是尝试了这个:

file = open("rawData", "wb")
...
file.write(data)
...
file.close()

能够按预期处理 "rawData"。