繁体   English   中英

For循环遍历图像文件夹并输出到单个JSON文件中

[英]For loop to iterate through a folder of images and output into a single JSON file

我不是开发人员,对编程知识非常有限。 我理解如何使用和操作python脚本,但是编写它们是我尚未学习的东西。 请有人可以帮助一个总菜鸟:)

我使用sightengine的API来评估.jpg图像的大文件夹的锐度和颜色属性。 API的文档仅提供用于一次评估一个图像的小脚本。 我已经与Sight Engines的支持人员谈过,他们不愿意提供批处理的脚本,考虑到所有其他API公司通常都会这样做。

我需要一些帮助来创建一个for循环,它将使用python脚本迭代图像文件夹并将API结果输出到单个JSON文件中。 任何有关如何构造此脚本的帮助将非常感激。

这是一个简单的图像检查的sightengine代码:

from sightengine.client import SightengineClient

client = SightengineClient("{api_user}", "{api_secret}")
output = client.check('properties','type').set_file('/path/to/local/file.jpg')

谢谢

部分原因是猜测,因为我不确切知道output会是什么样子。 我假设它以json格式返回。 如果是这种情况,您可以将单个json响应附加到单个json结构中,然后使用json.dump()写入文件。

所以这部分是猜测。 另一个方面是你要遍历你的jpg文件,你可以使用osfnmatch 只需调整根目录/文件夹,即可在搜索所有.jpg扩展名时浏览它。

from sightengine.client import SightengineClient
import os
from fnmatch import fnmatch
import json

client = SightengineClient("{api_user}", "{api_secret}")

# Get your jpg files into a list
r = 'C:/path/to/local'
pattern = "*.jpg"
filenames = []

for path, subdirs, files in os.walk(r):
    for name in files:
        if fnmatch(name, pattern):
            #print (path+'/'+name)
            filenames.append(path+'/'+name)


# Now iterate through those jpg files
jsonData = []            
for file in filenames:
    output = client.check('properties','type').set_file(file)
    jsonData.append(output)

with open('C:/result.json', 'w') as fp:
    json.dump(jsonData, fp, indent=2)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM