我正在与yolov3合作。我创建了一个用于触发yolov3的python脚本。该代码何时起作用。该程序需要一个类似于下图的图像路径。我的问题是如何从python端给出此路径并按Enter键。
import os
commands = './darknet detector test cfg/car-obj.data car-yolov3.cfg weights/car-yolov3_50000.weights -dont_show'
os.system(commands)
答案 0 :(得分:0)
您似乎并不是真的想与终端进行交互,而是想与子流程的 stdin 进行交互。默认情况下,该文件句柄被附加到终端 [1] ,但是您也可以将其附加到Python脚本可以写入的FIFO。
使用现代Python 3设施(带有subprocess.run()
参数的input
),看起来可能像这样:
import subprocess
p = subprocess.run(['./darknet', 'detector', 'test',
'cfg/car-obj.data', 'car-yolov3.cfg', 'weights/car-yolov3_50000.weights',
'-dont_show'], input='Image Path\n')
[1]-好吧,它是从启动它的程序继承的,因此,如果您在终端中启动Python,则依次启动的任何程序 it 都将从同一程序获取其stdin。终端...除非链中的任何程序将其重定向。