首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >增加paramiko.SSHClient.exec_command()宽度

增加paramiko.SSHClient.exec_command()宽度
EN

Stack Overflow用户
提问于 2017-05-05 15:46:08
回答 1查看 1.1K关注 0票数 0

我使用paramiko.SSHClient.exec_command()在远程服务器上运行命令。有人知道是否可以改变宽度,比如invoke_shell(width=150)吗?

当我exec_command("ls -la")时,我得到:

代码语言:javascript
复制
drwx------.  6 myuser myuser  4096 25 avril 15:59 
.
drwxr-xr-x. 14 root    root     4096  5 mai 15:05 
..
-rw-------.  1 myuser myuser  2818 28 avril 11:09 
.bash_history
-rw-r--r--.  1 myuser myuser   340 14 avril 14:16 
.bashrc

我想:

代码语言:javascript
复制
drwx------.  6 myuser myuser  4096 25 avril 15:59 .
drwxr-xr-x. 14 root    root     4096  5 mai 15:05 ..
-rw-------.  1 myuser myuser  2818 28 avril 11:09 .bash_history
-rw-r--r--.  1 myuser myuser   340 14 avril 14:16 .bashrc

(使用exec_command而不是invoke_shell)

我的代码:

代码语言:javascript
复制
ssh_client    = paramiko.SSHClient()
mykey         = paramiko.RSAKey.from_private_key_file("/path/to/my/key", password="passphrase")
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect("myserver.mydomain.com", username="myuser", pkey=mykey)
transport     = ssh_client.get_transport()
agent_channel = transport.open_session()
agent_handler = paramiko.agent.AgentRequestHandler(agent_channel)
stdin, stdout, stderr = ssh_client.exec_command("ls -la")
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-09 09:38:33

好的,找到了:这只是一个pprint奇怪的行为。我把接收到的行放在一个列表中,然后pprint这个列表。如果我这样做了:

代码语言:javascript
复制
for line in received:
    print(line)

那就没事了。印页:

代码语言:javascript
复制
['-rw-r-----    1 myuser   mygroup      23228063744 06 mai 11:41 '
 'my_file.txt-rw-r-----    1 '
...

我也不知道原因。好吧,我不会再用pprint了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43809006

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档