Python调用Perl脚本

时间:2015-07-01 23:09:41

标签: python perl shell subprocess

因此,当我在命令行上运行我的Perl脚本时,它会要求

用户:(输入名称并按回车键)

密码:(然后它会要求输入密码,然后按回车键) 然后我可以运行命令

所以,如果你看到,这是一系列步骤

我知道当你使用subproccess命令时,我可以调用一个脚本并让它运行。但是一旦Python运行命令,在输入用户后如何继续输入用户密码?当我使用" subprocess.call(command,shell = True)" Pycharm要求"用户:"当我输入它时,它会冻结。

如果可能,我想配置python将我的登录信息放入脚本然后运行命令。我过去做过这样的事情,但它只是运行脚本并输出了数据。这个perl脚本要求我在输出数据之前登录,这是我遇到问题的地方。

1 个答案:

答案 0 :(得分:3)

结帐the pexpect module。它完全符合您的要求,例如:

child = pexpect.spawn('perl foo.pl')
child.expect('User:')
child.sendline('my_username')
child.expect('Password:')
child.sendline('my_password')