Skip to main content
 首页 » 编程设计

Python,伪造标准输入

2025年05月04日18hnrainll

我目前正在用 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')