如何将字符串传递给 pexpect spawn?

mar*_*ray 2 python pexpect

我想 ssh 到网络上的另一个节点作为更大的 python 脚本的一部分,我正在使用 pexpect,当我执行以下操作时,它可以工作:

session=spawn('ssh root@172.16.210.254')
Run Code Online (Sandbox Code Playgroud)

我想用变量替换地址,这样我就可以循环访问列表中的地址,但是当我尝试时:

address = "172.16.210.253"

session=spawn('ssh root@'address)
Run Code Online (Sandbox Code Playgroud)

它不起作用,因为以这种方式使用地址是无效语法。正确的语法是什么?

Dhr*_*hak 5

session=spawn('ssh root@' + address) 连接字符串

  • 或者,更一般地说,“ssh root@{}”.format(address)`,它允许您在字符串中的任何位置插入变量,而不仅仅是在末尾。请参阅 [`str.format`](http://docs.python.org/3/library/stdtypes.html#str.format) 和 [格式字符串语法](http://docs.python.org/3/ Library/string.html#formatstrings)了解更多详细信息。 (2认同)