У меня есть программа, которая принимает два входных файла, которые я получаю из API. http://server:8000/extract/<filename>
. Моей программе нужны два файла, поэтому мне нужно дважды вызвать API и сохранить файлы для использования моей программой и выдать вывод JSON, который должен быть сделан как сервис.
Я попытался сделать что-то похожее на приведенное ниже, однако не знал, как вызывать API, чтобы каждый раз получать файлы file1 и file2, и как сделать мою программу сервисом. Я очень новичок в python и пробую свои силы в этом.
import os
import json
import difflib
from flask import Flask, render_template, request, url_for, jsonify
import json
from json import JSONEncoder
app = Flask(__name__)
@app.route('/CompareCont/', methods=['POST', ['GET']])
with open('C:\\filepath\\2018temp_new.json', encoding="utf-8") as f1:
f1_text = f1.read().splitlines()
with open('C:\\filepath\\2019tempnew.json', encoding="utf-8") as f2:
f2_text = f2.read().splitlines()
def compareCont(f1_text, f2_text):
# Find and print the diff:
diffile= []
diff = difflib.Differ()
for line in diff.compare(f1_text, f2_text):
#json.dump(line,f, indent=2)
if line.startswith(("-", "+", "?")):
diffile.append(line)
#print (line, file=f)]updated=[]
#lines = diff.splitlines()
updated, deleted, inserted = [],[],[]
lines = [line for line in diffile if line.find('"header"') == -1]
for i in range(len(lines)):
try:
if lines[i+1].startswith('?'):
if lines[i].startswith('-'):
updated.append(lines[i])
updated.append (lines[i+1])
else:
if lines[i].startswith('+'):
deleted.append(lines[i])
elif lines[i].startswith('-'):
inserted.append(lines[i])
except IndexError:
continue
lists = (["updated", "deleted", "inserted"])
data = ({listname: globals()[listname] for listname in lists})
return jsonify(data)
if __name__ == '__main__':
app.run(host='0.0.0.0',port=5000,threaded=True)
Мы получим файл 2019temp.json
и 2018temp.json
(json версия любого файла с именем pdf) из http://server: 8000 / экстракт / . Как мне вызвать API извлечения, чтобы получить два файла и обработать его в моей программе, используя мой сервис