好的,这里是 Python 新手。我要做的是打开一个程序(JLink Commander)并运行一系列命令来自动对 PCB 上的两个微控制器进行编程。到目前为止,我可以打开程序,但我无法通过带有标准输入的管道传递我的文本。
(Python 2.7,Windows 7。)
我可以打开程序:
proc = subprocess.Popen([r'C:\Program File
(x86)\SEGGER\JLink_V632c\jlink.exe'])
但我试着把它做成一个管道,这只会让孩子抓住并立即关闭:
proc = subprocess.Popen([r'C:\Program File
(x86)\SEGGER\JLink_V632c\jlink.exe'], stdout=subprocess.PIPE,
stdin=subprocess.PIPE)
更大的代码图片:
import os, subprocess, time
proc = subprocess.Popen([r'C:\Program File
(x86)\SEGGER\JLink_V632c\jlink.exe'])
time.sleep(1)
proc.stdin("power on")
proc.stdin.end()
(延迟只是为了让 JLink 有时间打开,因为这最初会导致问题。)
我想我在这里遗漏了一些完全基本的东西。我可以做一个解决方法并使用 pyautogui - 它可以工作,但感觉就像使用一块石头,因为你不知道你把锤子放在哪里了。