我需要使用python向exe发送击键。我可以使用python从子进程运行exe作为
import subprocess
subprocess.Popen('myfile.exe',stdout=subprocess.PIPE)
但是如何保持连接并继续发送密钥。我不想从exe中读回来发送一些击键任何建议
答案 0 :(得分:1)
使用stdin=subprocess.PIPE
和Popen.communicate()
:
与流程交互:将数据发送到stdin。从stdout和。读取数据 stderr,直到达到文件结尾。等待进程终止。 可选的输入参数应该是要发送给子级的数据 如果没有数据应该发送给孩子,则进程或无。如果是流 在文本模式下打开,输入必须是一个字符串。否则,它必须 是字节。
communic()返回一个元组(stdout_data,stderr_data)。数据 如果以文本模式打开流,则为字符串;否则,字节。
请注意,如果要将数据发送到进程的stdin,则需要 使用stdin = PIPE创建Popen对象。同样,得到任何东西 除了结果元组中的None之外,你需要给stdout = PIPE 和/或stderr = PIPE。