簡體   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