我有一个代码,我在远程Linux机器上执行命令并使用Paramiko读取输出.代码def看起来像这样:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(IPAddress, username=user['username'], password=user['password'])
chan = self.ssh.get_transport().open_session()
chan.settimeout(10800)
try:
# Execute thecommand
chan.exec_command(cmd)
contents = StringIO.StringIO()
data = chan.recv(1024)
# Capturing data from chan buffer.
while data:
contents.write(data)
data = chan.recv(1024)
except socket.timeout:
raise socket.timeout
output = contents.getvalue()
return output,chan.recv_stderr(600),chan.recv_exit_status()
Run Code Online (Sandbox Code Playgroud)
上面的代码适用于小输出,但它适用于较大的输出.
这里有缓冲相关的问题吗?
我有一个文本文件
apple banana
现在你仔细观察最后有空白行.
什么时候做追加
f = open("file.txt",'a')
f.write("orange")
f.close()
我得到输出:
apple banana orange
我想在追加期间删除其间的空白行.
我知道我可以手动转到文件并删除额外的新行.但我想在python中做到这一点.所以每次空白行都会自动删除它,如下所示:
apple banana orange
我搜索并试验但无济于事