while True : with open('/home/pi/Documents/8-17/simplest_output.txt', 'w') as f: proc = subprocess.Popen(["python3", "/home/pi/Documents/8-17/simplest.py"], stdout=f, stderr=f) proc.wait() # 等待子进程执行完毕 if proc.returncode == 0: print("simplest运行正常.....") break simplest运行正常后为什么终端没有打印simplest运行正常
时间: 2023-12-10 17:38:59 浏览: 69
999975.rar_massglc_simplest8po_数值算法/人工智能
这是因为你在子进程中将输出重定向到了文件 `/home/pi/Documents/8-17/simplest_output.txt`,而没有将输出打印到终端。如果你想在终端中看到输出,可以在 `subprocess.Popen` 中添加 `stdout=subprocess.PIPE, stderr=subprocess.PIPE` 参数,然后使用 `proc.stdout.read()` 和 `proc.stderr.read()` 来获取子进程的输出,最后将其打印到终端即可。示例代码如下:
```python
import subprocess
while True:
proc = subprocess.Popen(["python3", "/home/pi/Documents/8-17/simplest.py"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate() # 获取子进程的输出
if proc.returncode == 0:
print("simplest运行正常.....")
print(stdout.decode('utf-8')) # 将输出打印到终端
break
```
阅读全文