我正在开发一个 python 程序来协助 apt-get 工具。我想使用 pexpect 下载所选的包。我相信我陷入了 child.expect 线。当涉及到该行时,似乎超时了。
butt = "vlc"
child = pexpect.spawn('sudo apt-get install ' + butt)
child.logfile = sys.stdout
child.expect('[sudo] password for user1: ')
child.sendline('mypassword')
Run Code Online (Sandbox Code Playgroud)
这是日志文件。
butt = "vlc"
child = pexpect.spawn('sudo apt-get install ' + butt)
child.logfile = sys.stdout
child.expect('[sudo] password for user1: ')
child.sendline('mypassword')
Run Code Online (Sandbox Code Playgroud)
更新:
密码发送得很好。它还期望下一行,但随后输入“Y”并且不执行任何操作。
child = pexpect.spawn('sudo apt-get install ' + butt)
child.logfile = sys.stdout
child.expect_exact('[sudo] password for user1: ')
child.sendline('mypass')
child.expect_exact('Do you want to continue? [Y/n] ')
child.sendline('Y')
Run Code Online (Sandbox Code Playgroud)
解决了:
我需要在最后添加这一行。
child.expect(pexpect.EOF, …Run Code Online (Sandbox Code Playgroud) 我有一个txt文件,我想使用sed,awk,grep或任何组合来删除文件中每行的最后一个字符串.
我想我需要像'$ s /'这样的东西.但是无法弄明白.谢谢.
例:
fab foo bar
fab foo fab
fab foo foo
Run Code Online (Sandbox Code Playgroud)
期望的输出.
fab foo
fab foo
fab foo
Run Code Online (Sandbox Code Playgroud)
请注意,最后一个字符串在每一行中都是不同的.