![](/img/trans.png)
[英]How to walk through and parse folder of json files then output to single file
[英]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文件,你可以使用os
和fnmatch
。 只需調整根目錄/文件夾,即可在搜索所有.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.