python - 如何在不使用“追加”的情况下使用 python 将脚本的“打印”发送到列表中?
问题描述
我想将脚本中的所有“打印”发送到列表中。我有“功能”和“循环”。您会注意到一些“单词”重复,例如:Labels、Model、Image、Time(ms)、Score、TPU_temp(°C)。
我想过使用“追加”,但我需要每个值的“单词”,因为我会将它们发送到数据库中。
我的代码看起来像这样
def getInterpreter(root, files):
for file in files:
filepath = os.path.join(root, file)
if filepath.endswith(".tflite"):
print("Model:", file) <---------------------------HERE IS A PRINT
print("\n") <--------------------------IT IS OKAY IF THIS GOES IN THE LIST
interpreter = make_interpreter(filepath)
interpreter.allocate_tensors()
return interpreter
return None
def getImage(dir_path, image_file):
for file in image_file:#all files within the current path
if re.match('.*\.jpg|.*\.bmp|.*\.png', file):
filepath = os.path.join(dir_path, file)
print("Image:", file) <-------------HERE IS A PRINT
print("\n") <------------ANOTHER PRINT
return filepath
return None
def main():
subprocess.run('/usr/bin/snapshot', shell=False)
image_file = os.listdir(rootdir)
for root, subdirs, files in os.walk(rootdir):
labels = getLabel(root, files)
interpreter = getInterpreter(root, files)
if interpreter is not None:
size = classify.input_size(interpreter)
for _ in range(count):
start = time.perf_counter()
interpreter.invoke()
inference_time = time.perf_counter() - start
classes = classify.get_output(interpreter, top_k, threshold)
print('Time(ms):', '%.1f' % (inference_time * 1000)) <----ANOTHER PRINT!
print("\n") <--------------ANOTHER PRINT
if __name__ == '__main__':
main()
这是执行我的脚本后打印的内容
Labels: imagenet_labels.txt
Model: efficientnet-edgetpu-S_quant_edgetpu.tflite
Image: img0000.jpg
*The first inference on Edge TPU is slow because it includes loading the model i nto Edge TPU memory*
Time(ms): 23.1
Time(ms): 6.1
Inference: nematode, nematode worm, roundworm
Score: 0.02734
TPU_temp(°C): 61.55
#####################################
Labels: imagenet_labels.txt
Model: efficientnet-edgetpu-M_quant_edgetpu.tflite
Image: img0000.jpg
*The first inference on Edge TPU is slow because it includes loading the model i nto Edge TPU memory*
Time(ms): 28.9
Time(ms): 10.6
Inference: wall clock
Score: 0.01953
TPU_temp(°C): 61.55
#####################################
解决方案
我不确定我是否完全理解这个问题,但您能否通过将多行合并为一行来附加到列表中。
例如
使用 append 和 f 字符串加入一行。
newlist.append(f'Model:{file}\n')
如果我误解了您的问题,请告诉我。
推荐阅读
- php - 使用 Laravel 将 youtube-dl 输出流式传输到 S3
- c# - 从 LoginPath 中删除 ReturnUrl 参数
- scala - intellij:模块描述符未列出所需的工件:*#*!*.*
- javascript - 如何在 Firebase 中实现电子邮件地址更改?
- php - 通过它们在 PHP 中的重复值组合两个数组数组并合并值 - 逗号分隔
- windbg - 如何摆脱符号文件相关的警告/错误消息
- docker-compose - 如何使用 Rancher v2 生成 docker-compose.yml?
- spotfire - HH:mi:ss 数据上的聚合“总和”
- python - 从熊猫数据框中删除停用词
- logging - 显示包含控制字符的文本文件的最终外观