Как зациклить этот код 50 раз и добавить вывод json, который он генерирует, и сохранить его? - PullRequest
0 голосов
/ 14 мая 2019

этот код генерирует случайные 50 строк json и отправляет сообщения через curl.Из-за ограничений нельзя постить после 33676. Есть ли способ загрузить json напрямую в grpcurl или curl.Иначе, как зациклить этот код 50 раз и добавить выходной json в один файл.

Если мы используем подпроцесс в python, он откроется, считайте, что число символов json и cmd превышает 33676

если мы отправляем json-файл более чем 33676 символов, он отвечает слишком длинным содержимым в cmd и командой tooo long в оболочке

import faker
import json
from faker import Faker
import random
from random import randint
import subprocess
import json
import os
#subprocess.call([""])
from pprint import pprint

ids= ('5cda','6cda')

fake = Faker('en_US')

for ind in ids:
    cont = []
    #Overall dictionary with first and user_ids
    dct = {}
    for idx in range(50):

        sms =  {
            "id":"AB-asfgw",
            "body": fake.text(),
            "mime": fake.ean(),
            "hashed": fake.ean(),
            "pid": fake.ean(),
            "user_id": ind,
            "text": fake.sentence()
        }
        cont.append(sms)

    dct['messages'] = cont
    dct['user_id'] = ind
    #print(dct)
    f_name = '{}.json'.format(ind)
    with open(f_name, 'w') as fp:
        #Save the dictionary
        json.dump(dct, fp, indent=4)
        print('saved {}'.format(f_name))    


auth = "authorization: token 1234
file = "5cda.json"
fd=open("5cda.json")
json_content = fd.read()
fd.close()


subprocess.run(["curl", "-plaintext","-H", auth,"-d",json_content,"-format","json","100.10.10.10:1000","service/methodname"])



auth1 = "authorization: token 12345"
file1 = "6cda.json"
fd1=open("6cda.json")
json_content1 = fd1.read()
fd1.close()

subprocess.run(["curl", "-plaintext","-H", auth1,"-d",json_content1,"-format","json",""100.10.10.10:1000","service/methodname"])

...