我目前正在用 python 编写 darcs 的抽象,但是一旦我尝试将数据发送到我的存储库,存储库就会请求一个 key ;我在想是否有可能让 python 将 key 发送到 darcs,使用 stdin 或其他任何东西来模拟用户将输入的内容,因为这样;我可以让用户简单地存储一个包含他们信息的文件,python 会简单地读取这个文件并触发它的内容。
def execute(cmd):
proc = subprocess.Popen(cmd, shell=True)
proc.wait()
是我用来启动 darcs 的代码吗?执行("darcs %s"% (parems))
请您参考如下方法:
试试 pexpect,它正是为此目的而构建的(自动化其他交互式应用程序)。
参见:http://pypi.python.org/pypi/pexpect/
来自文档的用法示例:
import pexpect
child = pexpect.spawn ('ftp ftp.openbsd.org')
child.expect ('Name .*: ')
child.sendline ('anonymous')
child.expect ('Password:')
child.sendline ('noah@example.com')
child.expect ('ftp> ')
child.sendline ('cd pub')
child.expect('ftp> ')
child.sendline ('get ls-lR.gz')
child.expect('ftp> ')
child.sendline ('bye')
