相关疑难解决方法(0)

如何循环直到Python中的EOF?

我需要循环,直到我到达类似文件的对象的末尾,但我没有找到"明显的方法去做",这让我怀疑我忽略了一些东西,很明显.:-)

我有一个流(在这种情况下,它是一个StringIO对象,但我也对一般情况感到好奇)以"<length> <data>"格式存储未知数量的记录,例如:

data = StringIO("\x07\x00\x00\x00foobar\x00\x04\x00\x00\x00baz\x00")
Run Code Online (Sandbox Code Playgroud)

现在,我能想象的唯一清晰的方法就是使用(我认为是)一个初始化的循环,这看起来有点像非Pythonic:

len_name = data.read(4)

while len_name != "":
    len_name = struct.unpack("<I", len_name)[0]
    names.append(data.read(len_name))

    len_name = data.read(4)
Run Code Online (Sandbox Code Playgroud)

在一个类似C语言,我只是坚持的read(4)while的测试条款,但当然不会对Python的工作.有没有想过更好的方法来实现这个目标?

python eof stringio

10
推荐指数
3
解决办法
6万
查看次数

Paramiko连续stdout

我使用Paramiko向远程Linux服务器运行一些ssh命令.这些命令将在控制台中连续输出,我想在本地控制台窗口中打印这些所有信息.

stdin, stdout, stderr = ssh.client.exec_command("ls")
for line in stdout.read()
    print line,
ssh.client.close()
Run Code Online (Sandbox Code Playgroud)

因此,如果我编写这样的代码,所有输出信息将被发送回给我,直到命令完成执行,而我想在live中打印输出.

非常感谢.

python ssh paramiko

5
推荐指数
1
解决办法
7309
查看次数

标签 统计

python ×2

eof ×1

paramiko ×1

ssh ×1

stringio ×1