Python Paramiko Channel.recv() 的实际 return 值类型是什么?

What is the actual return value type of Python Paramiko Channel.recv()?

我有一个 2.7 版的旧 Python 脚本,它使用函数 Paramiko Channel.recv() 方法。我正在尝试将脚本迁移到 Python 版本 3(和 Paramiko 2.7.1),但文档说:

:return: received data, as a str/bytes.

由于从 Python 2 迁移到 Python 3 时的主要问题是不同的 basestrings,我需要 return 类型的更具体的规范。

函数的 return 类型取决于什么?或者:我如何确定 return 值始终相同(例如 bytestring)?

一些代码片段:

t = paramiko.Transport(socklike_obj)
t.start_client()
t.auth_password(usr, pw)
chan = t.open_session()
nbytes = 2**16-1  # 65535
out = chan.recv(nbytes)
while out != b'':  # or: out != ''
    if b'\n' in out or b'\r' in out:
        parts = out.splitlines()

在Python3、方法总是returnsbytes.

在Python 2、方法returns一个字符串。