我如何在后台使用 pexpect to 运行 东西?
How do I use pexpect to run things in the background?
我在脚本中使用 'Pexpect'
库,之后想做一些操作。我正在做的事情如下:
def child():
pexpect.spawn("ssh tranzmeo@192.168.21.110")
child.expect(".*password.*")
child.sendline('tranzmeo1@#')
print(child.before)
child.interact()
return
这是我从另一个文件调用的函数(我称之为训练。)当我 运行 训练时, child()
被调用,但它立即停止程序并进入 tranzmeo
控制台,我不想要。我需要 ssh
进入它并在 tranzmeo 中在后台进行一些操作。我怎样才能使用 pexpect 做到这一点?
我的operation
如下(仅供参考):
def scp(tensorflow_file_location_temp ,tensorflow_file_loc)
child = pexpect.spawn("scp -r " + tensorflow_file_location_temp + "models@192.168.21.117:" + tensorflow_file_location )
child.expect(".*password.*")
child.sendline('Tranzmeo1@#')
child.interact()
如果你不想要那个,就不要调用它!您想继续使用从 pexpect.spawn("ssh tranzmeo@192.168.21.110")
返回的对象(您发布的代码没有将其分配给 child
,我认为这是复制粘贴错误):
child.sendline("scp -r " + tensorflow_file_location_temp + "models@192.168.21.117:" + tensorflow_file_location)
但是你应该设置 ssh 密钥,然后你就可以在没有密码的情况下做你想做的事了 pexpect
simply running scp
。
我在脚本中使用 'Pexpect'
库,之后想做一些操作。我正在做的事情如下:
def child():
pexpect.spawn("ssh tranzmeo@192.168.21.110")
child.expect(".*password.*")
child.sendline('tranzmeo1@#')
print(child.before)
child.interact()
return
这是我从另一个文件调用的函数(我称之为训练。)当我 运行 训练时, child()
被调用,但它立即停止程序并进入 tranzmeo
控制台,我不想要。我需要 ssh
进入它并在 tranzmeo 中在后台进行一些操作。我怎样才能使用 pexpect 做到这一点?
我的operation
如下(仅供参考):
def scp(tensorflow_file_location_temp ,tensorflow_file_loc)
child = pexpect.spawn("scp -r " + tensorflow_file_location_temp + "models@192.168.21.117:" + tensorflow_file_location )
child.expect(".*password.*")
child.sendline('Tranzmeo1@#')
child.interact()
如果你不想要那个,就不要调用它!您想继续使用从 pexpect.spawn("ssh tranzmeo@192.168.21.110")
返回的对象(您发布的代码没有将其分配给 child
,我认为这是复制粘贴错误):
child.sendline("scp -r " + tensorflow_file_location_temp + "models@192.168.21.117:" + tensorflow_file_location)
但是你应该设置 ssh 密钥,然后你就可以在没有密码的情况下做你想做的事了 pexpect
simply running scp
。